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
Ekoogrodnictwo/Nawożenie/Nawozy
0
7321
540095
539490
2026-04-19T09:23:10Z
EdytaT
2664
540095
wikitext
text/x-wiki
{{Tabela|id=toc|klasa=tekst-centruj-td|liczba wierszy=3|liczba kolumn=1|pozycja=centruj
| styl 1_1 = background:#ccccff
| komórka 1_1 = [[Ekoogrodnictwo/Nawadnianie | << Nawadnianie ogrodu]] - '''[[Ekoogrodnictwo|Spis treści]]''' - [[Ekoogrodnictwo/Ochrona roślin | Biologiczna ochrona roślin >>]]
| styl 2_1 = font-size: 90%;
| komórka 2_1 = '''NAWOŻENIE ROŚLIN'''
| styl 3_1 = border-bottom: 1px solid #a2a9b1;font-size: 90%;
| komórka 3_1 = [[Ekoogrodnictwo/Nawożenie/Nawozy|Nawozy w ogrodzie biologicznym]] - [[Ekoogrodnictwo/Nawożenie/Nawozy zielone|Nawozy zielone]] - [[Ekoogrodnictwo/Nawożenie/Stosowanie nawozów|Stosowanie nawozów]] - [[Ekoogrodnictwo/Nawożenie/Preparaty|Preparaty wpływające na plonowanie roślin]]
}}
{{wikipedia|Nawozy|nawozów}}
__NOTOC__
<!-- [toc] -->
{| class="prettytable" |
!Nawóz || % azotu (N) || % fosforu (P<sub>2</sub>O<sub>5</sub>) || % potasu (K<sub>2</sub>O) || % wapnia (CaO) || mikroelementy || substancja organiczna
|-
|[[#Kompost|Kompost]] || 0,3 || 0,3 || 0,3 || 2,5 || umiarkowanie || 10-50
|-
|[[#Obornik|Obornik kompostowany]] || 0,4 || 0,27 || 0,55 || 0,46 || umiarkowanie || 10
|-
|[[#Obornik|Obornik bydlęcy świeży]] || 0,4 || 0,2 || 0,5 || 0,5 || umiarkowanie || 20-25
|-
|''Obornik bydlęcy suszony'' || 2 || 1,6 || 4 || 4,1 || umiarkowanie || 45
|-
|[[#Obornik|Obornik koński]] || 0,5 || 0,3 || 0,4 || 0,2 || umiarkowanie || 30
|-
|[[#Pomiot ptasi|Pomiot kurzy i gołębi]] || 1,6 || 1,5 || 0,9 || 2 || dużo || 25-30
|-
|''Suszony pomiot ptasi'' || 3,5 || 4 || 2,5 || 6 || dużo || 30-70
|-
|[[#Odpady poubojowe|Wióry, mączka rogowa]] || 10-14 || 4-5 || brak || 4,3 || mało || 60-80
|-
|[[#Odpady poubojowe|Mączka z krwi]] || 11-15 || 1,3-1,5 || 0,7-0,8 || 0,6 || dużo || 60-70
|-
|[[#Odpady poubojowe|Mączka kostna]] || 3-4 || 21-30 || 0,2 || 30-31 || umiarkowanie || brak
|-
|[[#Inne nawozy|Śruta rącznikowa]] || 5 || 2,5 || 1 || brak || brak || 70
|-
|[[#Nawozy mineralne|Tomasyna]] || brak || 15-20 || brak || 45 || dużo || brak
|-
|[[#Nawozy mineralne|Kalimagnezja]] || brak || brak || 25-28 || brak || MgO, S || brak
|-
|[[#Nawozy mineralne|Hiperfos]] || brak || 27 || brak || 33 || dużo || brak
|-
|[[#Nawozy mineralne|Popiół drzewny]] || brak || 2-4 || 6-10 || 30-35 || dużo || brak
|-
|[[#Nawozy mineralne|Fusy z herbaty]] || ? || ? || ? || ? || ? || ?
|-
|[[#Nawozy mineralne|Fusy z kawy]] || dużo || dużo || dużo || ? || ? || ?
|-
|}
== Kompost ==
Prawidłowo wyprodukowany kompost jest bezsprzecznie najbardziej uniwersalnym nawozem, jaki można zastosować w ogrodnictwie. Wiedza teoretyczna dotycząca wytwarzania kompostu w warunkach ogrodowych zawarta jest w części książki pt. [[Ekoogrodnictwo/Kompostowanie|Kompostowanie]].
Kompost działa szybciej niż świeży obornik, dlatego przeważnie stosujemy go wiosną, jest źródłem wszystkich niezbędnych roślinom składników mineralnych oraz próchnicy. Pozwala zagospodarować odpady organiczne z kuchni, które stanowią spory odsetek ogólnej masy odpadów produkowanych w domu czy gospodarstwie. Zamiast spalać liście czy trawę, można z powodzeniem przeznaczyć je na kompost lub ściółkę. Jeżeli od wielu lat uprawiamy ogród zgodnie z naturą, możemy śmiało spróbować uprawiać na samym kompoście nawet tak żarłoczne rośliny jak kapustne.
Najważniejszą chyba zaletą kompostu jest fakt, że pozwala on zachować tak pożądaną (właściwie nawet wymaganą w gospodarstwach ekologicznych) równowagę biologiczną w ogrodzie - odpady z ogrodu i domu przetwarzane są na nawóz, który zasila rośliny wykorzystywane w domu i w ten sposób cykl zamyka się.
Kompost może mieć bardzo różny skład. Można manipulować zawartością azotu w kompoście, dodając do niego rośliny motylkowe, obornik, niektóre zioła (będzie zawierał więcej azotu) lub też dodając wapna czy dolomitu (część azotu ulotni się wtedy do atmosfery). Można wzbogacić kompost w mikroelementy dodając np. mączkę kamienną (granitową, bazaltową itp.) albo popiół drzewny. Ponadto długo leżące komposty mają znacznie mniej materii organicznej a więc i próchnicy od kompostów dojrzewających krócej.
{{Infobox|
''10 litrów kompostu bez dodatków zawiera przeciętnie 10-20 g azotu, 10 g tlenku fosforu(V) i 30 g tlenku potasu.''}}
== Obornik ==
Obornik zwierzęcy zawierający słomę jest najważniejszym nawozem w rolnictwie ekologicznym, zawierającym w zrównoważonym stosunku wszystkie niezbędne roślinom składniki (zwłaszcza obornik bydlęcy). W ogrodach biologicznych ma mniejsze znaczenie, gdyż większość ogrodników nie zajmuje się hodowlą zwierząt. Jeżeli jednak mamy możliwość pozyskania pewnego obornika (tzn. z czystej, pewnej hodowli, najlepiej z gospodarstwa ekologicznego, gdzie nie stosuje się hormonów i antybiotyków), to oczywiście będzie on bardzo dobrym nawozem w ogrodzie.
Lepszym rozwiązaniem jest dodanie obornika do kompostu niż bezpośrednio na zagony. Mniejsze ilości świeżego obornika kompostujemy razem z innymi odpadkami, większe natomiast oddzielnie - powstały z nich nawóz będzie służył do nawożenia np. roślin kapustnych czy dyni. W gospodarstwach ekologicznych obornik pryzmuje się przez około 6 miesięcy z zastosowaniem specjalnych roślinnych preparatów - jest on wtedy znacznie lepiej dostępny dla roślin i nie traci takich ilości wody, jakie straciłby w przypadku zwykłego kompostowania.
{{Infobox|'''Zasady stosowania świeżego obornika'''
# ''Gleby lekkie:''
#* stosujemy częściej mniejsze dawki, 1-2 kg/m² co 2 lata
#* możemy stosować obornik wczesną wiosną
#* przekopujemy na głębokość około 12 cm, nieprzekopany jest narażony na straty azotu;
# ''Gleby ciężkie:''
#* stosujemy rzadziej większe dawki, 3-4 kg/m² co 3-4 lata
#* stosujemy jesienią
#* przekopujemy płytko, na około 8 cm aby nie utrudniać jego rozkładu.
Świeży obornik na ciężkich glebach w pierwszym roku jest wykorzystywany zaledwie w 40% przez rośliny, dlatego dużo korzystniej jest stosować obornik pryzmowany lub kompostowany, który działa znacznie szybciej, gdyż jest już częściowo rozłożony.}}
Pewne znaczenie ma w ogrodach biologicznych '''suszony obornik bydlęcy''', do nabycia praktycznie w każdym sklepie ogrodniczym. Można nim zastąpić dojrzały obornik i nawozić wymagające rośliny, można rozcieńczyć go z wodą (i stosować do nawożenia pogłównego) lub dodać do kompostu.
[[Grafika: Hestemøj.jpg|thumb|Obornik koński ma podobny skład do bydlęcego. Jest nawozem gorącym.]]
'''Obornik koński''' można stosować tak samo jak bydlęcy, chociaż zawiera nieco mniej wody. Należy od do nawozów gorących (rozgrzewa się znacznie w trakcie pryzmowania), dlatego będzie miał zastosowanie w zimnych inspektach czy np. przy uprawie ciepłolubnych ogórków. Można śmiało kompostować go razem z obornikiem bydlęcym.
'''Obornik świński''' zawiera mniej wapnia od bydlęcego ale za to sporo fosforu. Jest nawozem zimnym i podobnie jak każdy obornik powinien zostać przekompostowany lub pryzmowany przed użyciem.
'''Obornik owczy, kozi''' i '''króliczy''' są nawozami gorącymi zawierającymi spore ilości azotu, nawet dwukrotnie większe od obornika bydlęcego. Po przekompostowaniu nadają się pod uprawę bardzo żarłocznych roślin jak żadne inne.
== Pomiot ptasi ==
Ptasie nawozy charakteryzują się dużą ilością składników pokarmowych. Można je uzyskać nawet w ogrodach, hodując kury, kaczki czy gołębie. Nawozy te najlepiej kompostować wraz z ziemią i innymi odpadkami lub w zmieszaniu z obornikiem ssaków, gdyż bardzo szybko nagrzewają się. Świeży pomiot może łatwo poparzyć korzenie roślin. W ogrodach zastosowanie będzie miał także suszony pomiot kurzy - łatwo dostępny w sklepach ogrodniczych.
{{Uwaga|Pomiot ptasi pochodzący z dużych, kurzych ferm nie może mieć zastosowania w ogrodzie. Zwierzęta są tam karmione się je paszami zawierającymi antybiotyki i hormony.}}
'''Guano peruwiańskie''' to odchody i szczątki ptaków morskich, osadzające się od stuleci na wybrzeżach Peru, tworzące tam metrowe pokłady. Jest bardzo bogate we wszystkie składniki pokarmowe i w materię organiczną, znacznie bogatsze od pozostałych nawozów zwierzęcych. W ogrodach ekologicznych odradza się stosowania tego nawozu z kilku względów. Intensywna eksploatacja złów to poważny problem ekologiczny a transport guano z Ameryki Południowej do Europy wykorzystuje znaczne ilości energii a więc i zasobów ziemskich. Ponadto podobne efekty można uzyskać stosując rodzime pomioty ptasie, nie ma więc potrzeby na wykorzystywanie guano.
== Odpady poubojowe ==
Największe znaczenie w ogrodach będzie miała gotowa mieszanka mączki rogowej, mączki z krwi i mączki kostnej, zawierająca kompleks składników pokarmowych i dużo materii organicznej (do 70%), 7-9% azotu, 12% tlenku fosforu(V), 0,3% tlenku potasu, 13% tlenku wapnia. Odpady poubojowe są bardzo dobrym nawozem organicznym, działającym wolno. Pewne ilości możemy dodać do kompostu, polepszając tym samym jego skład. Praktycznie jednak w każdym ogrodzie można się obejść bez odpadów poubojowych, zastępując je kompostem i obornikiem.
{{Infobox|
'''Znaczenie nawozów organicznych'''
* Stanowią doskonałe źródło próchnicy, zwiększającej zdolność gleby do magazynowania składników pokarmowych i poprawiającej stosunki wodno-powietrzne.
* Polepszają strukturę każdej gleby, także jej pojemność wodną.
* Są źródłem składników pokarmowych dla roślin i mikroorganizmów glebowych, dostarczają ich stopniowo w ciągu wegetacji, dzięki czemu ryzyko przenawożenia jest minimalne.
* Łagodzą ujemne skutki, jakie mogą wystąpić w przypadku wykorzystywania mineralnych nawozów sztucznych w ogrodzie.
* Większość nawozów organicznych zawiera wszelkie niezbędne roślinom składniki.}}
== Nawozy mineralne ==
Nie jest prawdą, że w ogrodach czy gospodarstwach ekologicznych nie można stosować nawozów mineralnych. Naturalne nawozy mineralne i niektóre inne, działające powoli są dopuszczone w rolnictwie organicznym. Nieporozumienie wynika z faktu, iż zwykle stawia się znak równości między nawozami mineralnymi pochodzącymi z naturalnych źródeł a nawozami mineralnymi wytworzonymi sztucznie.
Nawozy mineralne mają zastosowanie jedynie tam, gdzie wystąpiły niedobory jakiegoś pierwiastka w glebie oraz np. przy przestawianiu się na metody biologiczne. W innym przypadku powinniśmy zrezygnować z ich stosowania.
'''Miękkie fosforyty''', np. hiperfos mają zastosowanie jedynie na glebach kwaśnych, ze względu na dużą zawartość wapnia. Nie poleca się natomiast stosować w ogrodach ekologicznych szybko działających soli fosforanowych, takich jak superfosfat.
'''Tomasyna''' powstaje jako produkt uboczny przy produkcji stali, ze względu jednak na powolne działanie jest dopuszczona w rolnictwie ekologicznym. Zawiera więcej wapnia niż hiperfos, dlatego można stosować jedynie na glebach kwaśnych, wymagających wapnowania.
'''Kalimagnezja''' jest surowcem kopalnym, poddanym obróbce, dzięki której traci szkodliwy dla roślin chlor. Zawiera dużo potasu i poleca się ją stosować przy jego niedoborach oraz przy przestawieniu gospodarstwa.
Większe znaczenie w ogrodach ma '''popiół drzewny''', z racji dostępności i bogactwa składników pokarmowych (popiół z drzew iglastych posiada mniej składników niż popiół z drzew liściastych). Jeżeli posiadamy kominek czy kocioł na drewno możemy wykorzystać powstały w nich popiół dodając go do kompostu czy też bezpośrednio na zagony. Działa powoli i w przeciwieństwie do pozostałych nawozów mineralnych ma w miarę zrównoważony skład (nie zawiera tylko azotu).
'''Fusy z herbaty''' wzbogacają kompost w [[Ekoogrodnictwo/Nawożenie#Azot|azot]]. Nadają się do stosowania dla roślin lubiących lekko kwaśne podłoże, takich jak azalie, hortensje, rododendrony i róże. Można je rozsypać bezpośrednio pod rośliny, wymieszać z ziemią podczas sadzenia lub przesadzania roślin w domu lub w ogrodzie, dodać do kompostownika lub dodać do wody do podlewania. W tym celu zalej fusy ciepłą wodą, poczekaj co najmniej kilka godzin, a następnie użyj do podlewania raz w tygodniu lub raz na dwa tygodnie. Fusy z herbaty są naturalnym, długodziałającym nawozem.
{{Uwaga|Nie stosuj fusów ze słodzonej herbaty, unikaj fusów z herbat sztucznie aromatyzowanych. Nie stosuj do roślin wrażliwych na zawarte w herbacie związki (np. kofeina).}}
'''Fusy z kawy''' są bogate w [[Ekoogrodnictwo/Nawożenie#Azot|azot]], [[Ekoogrodnictwo/Nawożenie#Fosfor|fosfor]] i [[Ekoogrodnictwo/Nawożenie#Potas|potas]]. Zakwaszają glebę, a więc służą roślinom kwasolubnym, takim jak rododendrony, azalie, hortensje, wrzos i palmy.
== Inne nawozy ==
'''Śruta rącznikowa''' powstaje po sprasowaniu nasion [[w:Rącznik pospolity|rącznika]]. Nie ma większego znaczenia w naszych ogrodach z racji dostępności, ponadto może wywoływać objawy alergiczne.
'''Wytłoki owocowe''' są nawozami regionalnymi i mają niską wartość nawozową, poza dużą zawartością substancji organicznej. W ogrodach biologicznych nie powinno się stosować wytłoków z owoców pryskanych środkami chemicznymi.
Nawozy z '''glonów morskich''' zawierają sporo wapnia oraz inne pierwiastki. Nawożenie dolistne roślin zwiększa ich odporność. Jeżeli mamy dostęp do glonów z niezanieczyszczonych wód, możemy je kompostować. Można też stosować gotowe preparaty z glonów, dostępne w specjalistycznych sklepach ogrodniczych.
Może nie brzmi to apetycznie, ale bardzo dobrym nawozem mogą być '''ludzkie fekalia''', które jednak należy odpowiednio spreparować. Służą ku temu tzw. [[w:Toaleta kompostująca|suche toalety]], wyposażone w elektryczne systemy wietrzenia, dzięki czemu nie wydziela się z nich nieprzyjemny zapach, gdyż procesy gnilne zostają wstrzymane. Pojemniki z takich toalet regularnie wyjmuje się i zawartość poddaje się przyspieszonemu kompostowaniu - wszelkie patogeny zostaną usunięte. Nawóz można stosować zarówno pod rośliny ozdobne jak i uprawne. Należy nadmienić, że wykorzystywanie suchych toalet zmniejsza zużycie wody o przeciętnie 50%. Dodatkowo z takich toalet odprowadzany jest '''mocz''', który można stosować do podlewania trawników w rozcieńczeniu 1:10.
<hr>
[[Ekoogrodnictwo/Nawożenie|Teoretyczne podstawy nawożenia]] --- [[Ekoogrodnictwo/Nawożenie/Nawozy zielone|Nawozy zielone>>>]]
ku7pvaez45ayn9e14y3y8k8dkxgo2jr
540096
540095
2026-04-19T09:23:33Z
EdytaT
2664
540096
wikitext
text/x-wiki
{{Tabela|id=toc|klasa=tekst-centruj-td|liczba wierszy=3|liczba kolumn=1|pozycja=centruj
| styl 1_1 = background:#ccccff
| komórka 1_1 = [[Ekoogrodnictwo/Nawadnianie | << Nawadnianie ogrodu]] - '''[[Ekoogrodnictwo|Spis treści]]''' - [[Ekoogrodnictwo/Ochrona roślin | Biologiczna ochrona roślin >>]]
| styl 2_1 = font-size: 90%;
| komórka 2_1 = '''NAWOŻENIE ROŚLIN'''
| styl 3_1 = border-bottom: 1px solid #a2a9b1;font-size: 90%;
| komórka 3_1 = [[Ekoogrodnictwo/Nawożenie/Nawozy|Nawozy w ogrodzie biologicznym]] - [[Ekoogrodnictwo/Nawożenie/Nawozy zielone|Nawozy zielone]] - [[Ekoogrodnictwo/Nawożenie/Stosowanie nawozów|Stosowanie nawozów]] - [[Ekoogrodnictwo/Nawożenie/Preparaty|Preparaty wpływające na plonowanie roślin]]
}}
{{wikipedia|Nawozy|nawozów}}
__NOTOC__
<!-- [toc] -->
{| class="prettytable" |
!Nawóz || % azotu (N) || % fosforu (P<sub>2</sub>O<sub>5</sub>) || % potasu (K<sub>2</sub>O) || % wapnia (CaO) || mikroelementy || substancja organiczna
|-
|[[#Kompost|Kompost]] || 0,3 || 0,3 || 0,3 || 2,5 || umiarkowanie || 10-50
|-
|[[#Obornik|Obornik kompostowany]] || 0,4 || 0,27 || 0,55 || 0,46 || umiarkowanie || 10
|-
|[[#Obornik|Obornik bydlęcy świeży]] || 0,4 || 0,2 || 0,5 || 0,5 || umiarkowanie || 20-25
|-
|''Obornik bydlęcy suszony'' || 2 || 1,6 || 4 || 4,1 || umiarkowanie || 45
|-
|[[#Obornik|Obornik koński]] || 0,5 || 0,3 || 0,4 || 0,2 || umiarkowanie || 30
|-
|[[#Pomiot ptasi|Pomiot kurzy i gołębi]] || 1,6 || 1,5 || 0,9 || 2 || dużo || 25-30
|-
|''Suszony pomiot ptasi'' || 3,5 || 4 || 2,5 || 6 || dużo || 30-70
|-
|[[#Odpady poubojowe|Wióry, mączka rogowa]] || 10-14 || 4-5 || brak || 4,3 || mało || 60-80
|-
|[[#Odpady poubojowe|Mączka z krwi]] || 11-15 || 1,3-1,5 || 0,7-0,8 || 0,6 || dużo || 60-70
|-
|[[#Odpady poubojowe|Mączka kostna]] || 3-4 || 21-30 || 0,2 || 30-31 || umiarkowanie || brak
|-
|[[#Inne nawozy|Śruta rącznikowa]] || 5 || 2,5 || 1 || brak || brak || 70
|-
|[[#Nawozy mineralne|Tomasyna]] || brak || 15-20 || brak || 45 || dużo || brak
|-
|[[#Nawozy mineralne|Kalimagnezja]] || brak || brak || 25-28 || brak || MgO, S || brak
|-
|[[#Nawozy mineralne|Hiperfos]] || brak || 27 || brak || 33 || dużo || brak
|-
|[[#Nawozy mineralne|Popiół drzewny]] || brak || 2-4 || 6-10 || 30-35 || dużo || brak
|-
|[[#Nawozy mineralne|Fusy z herbaty]] || ? || ? || ? || ? || ? || ?
|-
|[[#Nawozy mineralne|Fusy z kawy]] || dużo || dużo || dużo || ? || ? || ?
|-
|}
== Kompost ==
Prawidłowo wyprodukowany kompost jest bezsprzecznie najbardziej uniwersalnym nawozem, jaki można zastosować w ogrodnictwie. Wiedza teoretyczna dotycząca wytwarzania kompostu w warunkach ogrodowych zawarta jest w części książki pt. [[Ekoogrodnictwo/Kompostowanie|Kompostowanie]].
Kompost działa szybciej niż świeży obornik, dlatego przeważnie stosujemy go wiosną, jest źródłem wszystkich niezbędnych roślinom składników mineralnych oraz próchnicy. Pozwala zagospodarować odpady organiczne z kuchni, które stanowią spory odsetek ogólnej masy odpadów produkowanych w domu czy gospodarstwie. Zamiast spalać liście czy trawę, można z powodzeniem przeznaczyć je na kompost lub ściółkę. Jeżeli od wielu lat uprawiamy ogród zgodnie z naturą, możemy śmiało spróbować uprawiać na samym kompoście nawet tak żarłoczne rośliny jak kapustne.
Najważniejszą chyba zaletą kompostu jest fakt, że pozwala on zachować tak pożądaną (właściwie nawet wymaganą w gospodarstwach ekologicznych) równowagę biologiczną w ogrodzie - odpady z ogrodu i domu przetwarzane są na nawóz, który zasila rośliny wykorzystywane w domu i w ten sposób cykl zamyka się.
Kompost może mieć bardzo różny skład. Można manipulować zawartością azotu w kompoście, dodając do niego rośliny motylkowe, obornik, niektóre zioła (będzie zawierał więcej azotu) lub też dodając wapna czy dolomitu (część azotu ulotni się wtedy do atmosfery). Można wzbogacić kompost w mikroelementy dodając np. mączkę kamienną (granitową, bazaltową itp.) albo popiół drzewny. Ponadto długo leżące komposty mają znacznie mniej materii organicznej a więc i próchnicy od kompostów dojrzewających krócej.
{{Infobox|
''10 litrów kompostu bez dodatków zawiera przeciętnie 10-20 g azotu, 10 g tlenku fosforu(V) i 30 g tlenku potasu.''}}
== Obornik ==
Obornik zwierzęcy zawierający słomę jest najważniejszym nawozem w rolnictwie ekologicznym, zawierającym w zrównoważonym stosunku wszystkie niezbędne roślinom składniki (zwłaszcza obornik bydlęcy). W ogrodach biologicznych ma mniejsze znaczenie, gdyż większość ogrodników nie zajmuje się hodowlą zwierząt. Jeżeli jednak mamy możliwość pozyskania pewnego obornika (tzn. z czystej, pewnej hodowli, najlepiej z gospodarstwa ekologicznego, gdzie nie stosuje się hormonów i antybiotyków), to oczywiście będzie on bardzo dobrym nawozem w ogrodzie.
Lepszym rozwiązaniem jest dodanie obornika do kompostu niż bezpośrednio na zagony. Mniejsze ilości świeżego obornika kompostujemy razem z innymi odpadkami, większe natomiast oddzielnie - powstały z nich nawóz będzie służył do nawożenia np. roślin kapustnych czy dyni. W gospodarstwach ekologicznych obornik pryzmuje się przez około 6 miesięcy z zastosowaniem specjalnych roślinnych preparatów - jest on wtedy znacznie lepiej dostępny dla roślin i nie traci takich ilości wody, jakie straciłby w przypadku zwykłego kompostowania.
{{Infobox|'''Zasady stosowania świeżego obornika'''
# ''Gleby lekkie:''
#* stosujemy częściej mniejsze dawki, 1-2 kg/m² co 2 lata
#* możemy stosować obornik wczesną wiosną
#* przekopujemy na głębokość około 12 cm, nieprzekopany jest narażony na straty azotu;
# ''Gleby ciężkie:''
#* stosujemy rzadziej większe dawki, 3-4 kg/m² co 3-4 lata
#* stosujemy jesienią
#* przekopujemy płytko, na około 8 cm aby nie utrudniać jego rozkładu.
Świeży obornik na ciężkich glebach w pierwszym roku jest wykorzystywany zaledwie w 40% przez rośliny, dlatego dużo korzystniej jest stosować obornik pryzmowany lub kompostowany, który działa znacznie szybciej, gdyż jest już częściowo rozłożony.}}
Pewne znaczenie ma w ogrodach biologicznych '''suszony obornik bydlęcy''', do nabycia praktycznie w każdym sklepie ogrodniczym. Można nim zastąpić dojrzały obornik i nawozić wymagające rośliny, można rozcieńczyć go z wodą (i stosować do nawożenia pogłównego) lub dodać do kompostu.
[[Grafika: Hestemøj.jpg|thumb|Obornik koński ma podobny skład do bydlęcego. Jest nawozem gorącym.]]
'''Obornik koński''' można stosować tak samo jak bydlęcy, chociaż zawiera nieco mniej wody. Należy od do nawozów gorących (rozgrzewa się znacznie w trakcie pryzmowania), dlatego będzie miał zastosowanie w zimnych inspektach czy np. przy uprawie ciepłolubnych ogórków. Można śmiało kompostować go razem z obornikiem bydlęcym.
'''Obornik świński''' zawiera mniej wapnia od bydlęcego ale za to sporo fosforu. Jest nawozem zimnym i podobnie jak każdy obornik powinien zostać przekompostowany lub pryzmowany przed użyciem.
'''Obornik owczy, kozi''' i '''króliczy''' są nawozami gorącymi zawierającymi spore ilości azotu, nawet dwukrotnie większe od obornika bydlęcego. Po przekompostowaniu nadają się pod uprawę bardzo żarłocznych roślin jak żadne inne.
== Pomiot ptasi ==
Ptasie nawozy charakteryzują się dużą ilością składników pokarmowych. Można je uzyskać nawet w ogrodach, hodując kury, kaczki czy gołębie. Nawozy te najlepiej kompostować wraz z ziemią i innymi odpadkami lub w zmieszaniu z obornikiem ssaków, gdyż bardzo szybko nagrzewają się. Świeży pomiot może łatwo poparzyć korzenie roślin. W ogrodach zastosowanie będzie miał także suszony pomiot kurzy - łatwo dostępny w sklepach ogrodniczych.
{{Uwaga|Pomiot ptasi pochodzący z dużych, kurzych ferm nie może mieć zastosowania w ogrodzie. Zwierzęta są tam karmione się je paszami zawierającymi antybiotyki i hormony.}}
'''Guano peruwiańskie''' to odchody i szczątki ptaków morskich, osadzające się od stuleci na wybrzeżach Peru, tworzące tam metrowe pokłady. Jest bardzo bogate we wszystkie składniki pokarmowe i w materię organiczną, znacznie bogatsze od pozostałych nawozów zwierzęcych. W ogrodach ekologicznych odradza się stosowania tego nawozu z kilku względów. Intensywna eksploatacja złów to poważny problem ekologiczny a transport guano z Ameryki Południowej do Europy wykorzystuje znaczne ilości energii a więc i zasobów ziemskich. Ponadto podobne efekty można uzyskać stosując rodzime pomioty ptasie, nie ma więc potrzeby na wykorzystywanie guano.
== Odpady poubojowe ==
Największe znaczenie w ogrodach będzie miała gotowa mieszanka mączki rogowej, mączki z krwi i mączki kostnej, zawierająca kompleks składników pokarmowych i dużo materii organicznej (do 70%), 7-9% azotu, 12% tlenku fosforu(V), 0,3% tlenku potasu, 13% tlenku wapnia. Odpady poubojowe są bardzo dobrym nawozem organicznym, działającym wolno. Pewne ilości możemy dodać do kompostu, polepszając tym samym jego skład. Praktycznie jednak w każdym ogrodzie można się obejść bez odpadów poubojowych, zastępując je kompostem i obornikiem.
{{Infobox|
'''Znaczenie nawozów organicznych'''
* Stanowią doskonałe źródło próchnicy, zwiększającej zdolność gleby do magazynowania składników pokarmowych i poprawiającej stosunki wodno-powietrzne.
* Polepszają strukturę każdej gleby, także jej pojemność wodną.
* Są źródłem składników pokarmowych dla roślin i mikroorganizmów glebowych, dostarczają ich stopniowo w ciągu wegetacji, dzięki czemu ryzyko przenawożenia jest minimalne.
* Łagodzą ujemne skutki, jakie mogą wystąpić w przypadku wykorzystywania mineralnych nawozów sztucznych w ogrodzie.
* Większość nawozów organicznych zawiera wszelkie niezbędne roślinom składniki.}}
== Nawozy mineralne ==
Nie jest prawdą, że w ogrodach czy gospodarstwach ekologicznych nie można stosować nawozów mineralnych. Naturalne nawozy mineralne i niektóre inne, działające powoli są dopuszczone w rolnictwie organicznym. Nieporozumienie wynika z faktu, iż zwykle stawia się znak równości między nawozami mineralnymi pochodzącymi z naturalnych źródeł a nawozami mineralnymi wytworzonymi sztucznie.
Nawozy mineralne mają zastosowanie jedynie tam, gdzie wystąpiły niedobory jakiegoś pierwiastka w glebie oraz np. przy przestawianiu się na metody biologiczne. W innym przypadku powinniśmy zrezygnować z ich stosowania.
'''Miękkie fosforyty''', np. hiperfos mają zastosowanie jedynie na glebach kwaśnych, ze względu na dużą zawartość wapnia. Nie poleca się natomiast stosować w ogrodach ekologicznych szybko działających soli fosforanowych, takich jak superfosfat.
'''Tomasyna''' powstaje jako produkt uboczny przy produkcji stali, ze względu jednak na powolne działanie jest dopuszczona w rolnictwie ekologicznym. Zawiera więcej wapnia niż hiperfos, dlatego można stosować jedynie na glebach kwaśnych, wymagających wapnowania.
'''Kalimagnezja''' jest surowcem kopalnym, poddanym obróbce, dzięki której traci szkodliwy dla roślin chlor. Zawiera dużo potasu i poleca się ją stosować przy jego niedoborach oraz przy przestawieniu gospodarstwa.
Większe znaczenie w ogrodach ma '''popiół drzewny''', z racji dostępności i bogactwa składników pokarmowych (popiół z drzew iglastych posiada mniej składników niż popiół z drzew liściastych). Jeżeli posiadamy kominek czy kocioł na drewno możemy wykorzystać powstały w nich popiół dodając go do kompostu czy też bezpośrednio na zagony. Działa powoli i w przeciwieństwie do pozostałych nawozów mineralnych ma w miarę zrównoważony skład (nie zawiera tylko azotu).
'''Fusy z herbaty''' wzbogacają kompost w [[Ekoogrodnictwo/Nawożenie#Azot|azot]]. Nadają się do stosowania dla roślin lubiących lekko kwaśne podłoże, takich jak azalie, hortensje, rododendrony i róże. Można je rozsypać bezpośrednio pod rośliny, wymieszać z ziemią podczas sadzenia lub przesadzania roślin w domu lub w ogrodzie, dodać do kompostownika lub dodać do wody do podlewania. W tym celu zalej fusy ciepłą wodą, poczekaj co najmniej kilka godzin, a następnie użyj do podlewania raz w tygodniu lub raz na dwa tygodnie. Fusy z herbaty są naturalnym, długodziałającym nawozem.
{{Uwaga|Nie stosuj fusów ze słodzonej herbaty, unikaj fusów z herbat sztucznie aromatyzowanych. Nie stosuj do roślin wrażliwych na zawarte w herbacie związki (np. kofeina).}}
'''Fusy z kawy''' są bogate w [[Ekoogrodnictwo/Nawożenie#Azot|azot]], [[Ekoogrodnictwo/Nawożenie#Fosfor|fosfor]] i [[Ekoogrodnictwo/Nawożenie#Potas|potas]]. Zakwaszają glebę, a więc służą roślinom kwasolubnym, takim jak rododendrony, azalie, hortensje, wrzos i palmy.
== Inne nawozy ==
'''Śruta rącznikowa''' powstaje po sprasowaniu nasion [[w:Rącznik pospolity|rącznika]]. Nie ma większego znaczenia w naszych ogrodach z racji dostępności, ponadto może wywoływać objawy alergiczne.
'''Wytłoki owocowe''' są nawozami regionalnymi i mają niską wartość nawozową, poza dużą zawartością substancji organicznej. W ogrodach biologicznych nie powinno się stosować wytłoków z owoców pryskanych środkami chemicznymi.
Nawozy z '''glonów morskich''' zawierają sporo wapnia oraz inne pierwiastki. Nawożenie dolistne roślin zwiększa ich odporność. Jeżeli mamy dostęp do glonów z niezanieczyszczonych wód, możemy je kompostować. Można też stosować gotowe preparaty z glonów, dostępne w specjalistycznych sklepach ogrodniczych.
Może nie brzmi to apetycznie, ale bardzo dobrym nawozem mogą być '''ludzkie fekalia''', które jednak należy odpowiednio spreparować. Służą ku temu tzw. [[w:Toaleta kompostująca|suche toalety]], wyposażone w elektryczne systemy wietrzenia, dzięki czemu nie wydziela się z nich nieprzyjemny zapach, gdyż procesy gnilne zostają wstrzymane. Pojemniki z takich toalet regularnie wyjmuje się i zawartość poddaje się przyspieszonemu kompostowaniu - wszelkie patogeny zostaną usunięte. Nawóz można stosować zarówno pod rośliny ozdobne jak i uprawne. Należy nadmienić, że wykorzystywanie suchych toalet zmniejsza zużycie wody o przeciętnie 50%. Dodatkowo z takich toalet odprowadzany jest '''mocz''', który można stosować do podlewania trawników w rozcieńczeniu 1:10.
quk5zcbizic7n2l1hfgz15db0vi730h
540098
540096
2026-04-19T09:30:02Z
EdytaT
2664
540098
wikitext
text/x-wiki
{{Podrozdział|[[Ekoogrodnictwo]]<br>[[Ekoogrodnictwo/Nawożenie|Nawożenie]]<br>Nawozy
__TOC __
{{wikipedia|Nawozy|nawozów}}
== Kompost ==
Prawidłowo wyprodukowany kompost jest bezsprzecznie najbardziej uniwersalnym nawozem, jaki można zastosować w ogrodnictwie. Wiedza teoretyczna dotycząca wytwarzania kompostu w warunkach ogrodowych zawarta jest w części książki pt. [[Ekoogrodnictwo/Kompostowanie|Kompostowanie]].
Kompost działa szybciej niż świeży obornik, dlatego przeważnie stosujemy go wiosną, jest źródłem wszystkich niezbędnych roślinom składników mineralnych oraz próchnicy. Pozwala zagospodarować odpady organiczne z kuchni, które stanowią spory odsetek ogólnej masy odpadów produkowanych w domu czy gospodarstwie. Zamiast spalać liście czy trawę, można z powodzeniem przeznaczyć je na kompost lub ściółkę. Jeżeli od wielu lat uprawiamy ogród zgodnie z naturą, możemy śmiało spróbować uprawiać na samym kompoście nawet tak żarłoczne rośliny jak kapustne.
Najważniejszą chyba zaletą kompostu jest fakt, że pozwala on zachować tak pożądaną (właściwie nawet wymaganą w gospodarstwach ekologicznych) równowagę biologiczną w ogrodzie - odpady z ogrodu i domu przetwarzane są na nawóz, który zasila rośliny wykorzystywane w domu i w ten sposób cykl zamyka się.
Kompost może mieć bardzo różny skład. Można manipulować zawartością azotu w kompoście, dodając do niego rośliny motylkowe, obornik, niektóre zioła (będzie zawierał więcej azotu) lub też dodając wapna czy dolomitu (część azotu ulotni się wtedy do atmosfery). Można wzbogacić kompost w mikroelementy dodając np. mączkę kamienną (granitową, bazaltową itp.) albo popiół drzewny. Ponadto długo leżące komposty mają znacznie mniej materii organicznej a więc i próchnicy od kompostów dojrzewających krócej.
{{Infobox|
''10 litrów kompostu bez dodatków zawiera przeciętnie 10-20 g azotu, 10 g tlenku fosforu(V) i 30 g tlenku potasu.''}}
{| class="prettytable" |
!Nawóz || % azotu (N) || % fosforu (P<sub>2</sub>O<sub>5</sub>) || % potasu (K<sub>2</sub>O) || % wapnia (CaO) || mikroelementy || substancja organiczna
|-
|[[#Kompost|Kompost]] || 0,3 || 0,3 || 0,3 || 2,5 || umiarkowanie || 10-50
|-
|[[#Obornik|Obornik kompostowany]] || 0,4 || 0,27 || 0,55 || 0,46 || umiarkowanie || 10
|-
|[[#Obornik|Obornik bydlęcy świeży]] || 0,4 || 0,2 || 0,5 || 0,5 || umiarkowanie || 20-25
|-
|''Obornik bydlęcy suszony'' || 2 || 1,6 || 4 || 4,1 || umiarkowanie || 45
|-
|[[#Obornik|Obornik koński]] || 0,5 || 0,3 || 0,4 || 0,2 || umiarkowanie || 30
|-
|[[#Pomiot ptasi|Pomiot kurzy i gołębi]] || 1,6 || 1,5 || 0,9 || 2 || dużo || 25-30
|-
|''Suszony pomiot ptasi'' || 3,5 || 4 || 2,5 || 6 || dużo || 30-70
|-
|[[#Odpady poubojowe|Wióry, mączka rogowa]] || 10-14 || 4-5 || brak || 4,3 || mało || 60-80
|-
|[[#Odpady poubojowe|Mączka z krwi]] || 11-15 || 1,3-1,5 || 0,7-0,8 || 0,6 || dużo || 60-70
|-
|[[#Odpady poubojowe|Mączka kostna]] || 3-4 || 21-30 || 0,2 || 30-31 || umiarkowanie || brak
|-
|[[#Inne nawozy|Śruta rącznikowa]] || 5 || 2,5 || 1 || brak || brak || 70
|-
|[[#Nawozy mineralne|Tomasyna]] || brak || 15-20 || brak || 45 || dużo || brak
|-
|[[#Nawozy mineralne|Kalimagnezja]] || brak || brak || 25-28 || brak || MgO, S || brak
|-
|[[#Nawozy mineralne|Hiperfos]] || brak || 27 || brak || 33 || dużo || brak
|-
|[[#Nawozy mineralne|Popiół drzewny]] || brak || 2-4 || 6-10 || 30-35 || dużo || brak
|-
|[[#Nawozy mineralne|Fusy z herbaty]] || ? || ? || ? || ? || ? || ?
|-
|[[#Nawozy mineralne|Fusy z kawy]] || dużo || dużo || dużo || ? || ? || ?
|-
|}
== Obornik ==
Obornik zwierzęcy zawierający słomę jest najważniejszym nawozem w rolnictwie ekologicznym, zawierającym w zrównoważonym stosunku wszystkie niezbędne roślinom składniki (zwłaszcza obornik bydlęcy). W ogrodach biologicznych ma mniejsze znaczenie, gdyż większość ogrodników nie zajmuje się hodowlą zwierząt. Jeżeli jednak mamy możliwość pozyskania pewnego obornika (tzn. z czystej, pewnej hodowli, najlepiej z gospodarstwa ekologicznego, gdzie nie stosuje się hormonów i antybiotyków), to oczywiście będzie on bardzo dobrym nawozem w ogrodzie.
Lepszym rozwiązaniem jest dodanie obornika do kompostu niż bezpośrednio na zagony. Mniejsze ilości świeżego obornika kompostujemy razem z innymi odpadkami, większe natomiast oddzielnie - powstały z nich nawóz będzie służył do nawożenia np. roślin kapustnych czy dyni. W gospodarstwach ekologicznych obornik pryzmuje się przez około 6 miesięcy z zastosowaniem specjalnych roślinnych preparatów - jest on wtedy znacznie lepiej dostępny dla roślin i nie traci takich ilości wody, jakie straciłby w przypadku zwykłego kompostowania.
{{Infobox|'''Zasady stosowania świeżego obornika'''
# ''Gleby lekkie:''
#* stosujemy częściej mniejsze dawki, 1-2 kg/m² co 2 lata
#* możemy stosować obornik wczesną wiosną
#* przekopujemy na głębokość około 12 cm, nieprzekopany jest narażony na straty azotu;
# ''Gleby ciężkie:''
#* stosujemy rzadziej większe dawki, 3-4 kg/m² co 3-4 lata
#* stosujemy jesienią
#* przekopujemy płytko, na około 8 cm aby nie utrudniać jego rozkładu.
Świeży obornik na ciężkich glebach w pierwszym roku jest wykorzystywany zaledwie w 40% przez rośliny, dlatego dużo korzystniej jest stosować obornik pryzmowany lub kompostowany, który działa znacznie szybciej, gdyż jest już częściowo rozłożony.}}
Pewne znaczenie ma w ogrodach biologicznych '''suszony obornik bydlęcy''', do nabycia praktycznie w każdym sklepie ogrodniczym. Można nim zastąpić dojrzały obornik i nawozić wymagające rośliny, można rozcieńczyć go z wodą (i stosować do nawożenia pogłównego) lub dodać do kompostu.
[[Grafika: Hestemøj.jpg|thumb|Obornik koński ma podobny skład do bydlęcego. Jest nawozem gorącym.]]
'''Obornik koński''' można stosować tak samo jak bydlęcy, chociaż zawiera nieco mniej wody. Należy od do nawozów gorących (rozgrzewa się znacznie w trakcie pryzmowania), dlatego będzie miał zastosowanie w zimnych inspektach czy np. przy uprawie ciepłolubnych ogórków. Można śmiało kompostować go razem z obornikiem bydlęcym.
'''Obornik świński''' zawiera mniej wapnia od bydlęcego ale za to sporo fosforu. Jest nawozem zimnym i podobnie jak każdy obornik powinien zostać przekompostowany lub pryzmowany przed użyciem.
'''Obornik owczy, kozi''' i '''króliczy''' są nawozami gorącymi zawierającymi spore ilości azotu, nawet dwukrotnie większe od obornika bydlęcego. Po przekompostowaniu nadają się pod uprawę bardzo żarłocznych roślin jak żadne inne.
== Pomiot ptasi ==
Ptasie nawozy charakteryzują się dużą ilością składników pokarmowych. Można je uzyskać nawet w ogrodach, hodując kury, kaczki czy gołębie. Nawozy te najlepiej kompostować wraz z ziemią i innymi odpadkami lub w zmieszaniu z obornikiem ssaków, gdyż bardzo szybko nagrzewają się. Świeży pomiot może łatwo poparzyć korzenie roślin. W ogrodach zastosowanie będzie miał także suszony pomiot kurzy - łatwo dostępny w sklepach ogrodniczych.
{{Uwaga|Pomiot ptasi pochodzący z dużych, kurzych ferm nie może mieć zastosowania w ogrodzie. Zwierzęta są tam karmione się je paszami zawierającymi antybiotyki i hormony.}}
'''Guano peruwiańskie''' to odchody i szczątki ptaków morskich, osadzające się od stuleci na wybrzeżach Peru, tworzące tam metrowe pokłady. Jest bardzo bogate we wszystkie składniki pokarmowe i w materię organiczną, znacznie bogatsze od pozostałych nawozów zwierzęcych. W ogrodach ekologicznych odradza się stosowania tego nawozu z kilku względów. Intensywna eksploatacja złów to poważny problem ekologiczny a transport guano z Ameryki Południowej do Europy wykorzystuje znaczne ilości energii a więc i zasobów ziemskich. Ponadto podobne efekty można uzyskać stosując rodzime pomioty ptasie, nie ma więc potrzeby na wykorzystywanie guano.
== Odpady poubojowe ==
Największe znaczenie w ogrodach będzie miała gotowa mieszanka mączki rogowej, mączki z krwi i mączki kostnej, zawierająca kompleks składników pokarmowych i dużo materii organicznej (do 70%), 7-9% azotu, 12% tlenku fosforu(V), 0,3% tlenku potasu, 13% tlenku wapnia. Odpady poubojowe są bardzo dobrym nawozem organicznym, działającym wolno. Pewne ilości możemy dodać do kompostu, polepszając tym samym jego skład. Praktycznie jednak w każdym ogrodzie można się obejść bez odpadów poubojowych, zastępując je kompostem i obornikiem.
{{Infobox|
'''Znaczenie nawozów organicznych'''
* Stanowią doskonałe źródło próchnicy, zwiększającej zdolność gleby do magazynowania składników pokarmowych i poprawiającej stosunki wodno-powietrzne.
* Polepszają strukturę każdej gleby, także jej pojemność wodną.
* Są źródłem składników pokarmowych dla roślin i mikroorganizmów glebowych, dostarczają ich stopniowo w ciągu wegetacji, dzięki czemu ryzyko przenawożenia jest minimalne.
* Łagodzą ujemne skutki, jakie mogą wystąpić w przypadku wykorzystywania mineralnych nawozów sztucznych w ogrodzie.
* Większość nawozów organicznych zawiera wszelkie niezbędne roślinom składniki.}}
== Nawozy mineralne ==
Nie jest prawdą, że w ogrodach czy gospodarstwach ekologicznych nie można stosować nawozów mineralnych. Naturalne nawozy mineralne i niektóre inne, działające powoli są dopuszczone w rolnictwie organicznym. Nieporozumienie wynika z faktu, iż zwykle stawia się znak równości między nawozami mineralnymi pochodzącymi z naturalnych źródeł a nawozami mineralnymi wytworzonymi sztucznie.
Nawozy mineralne mają zastosowanie jedynie tam, gdzie wystąpiły niedobory jakiegoś pierwiastka w glebie oraz np. przy przestawianiu się na metody biologiczne. W innym przypadku powinniśmy zrezygnować z ich stosowania.
'''Miękkie fosforyty''', np. hiperfos mają zastosowanie jedynie na glebach kwaśnych, ze względu na dużą zawartość wapnia. Nie poleca się natomiast stosować w ogrodach ekologicznych szybko działających soli fosforanowych, takich jak superfosfat.
'''Tomasyna''' powstaje jako produkt uboczny przy produkcji stali, ze względu jednak na powolne działanie jest dopuszczona w rolnictwie ekologicznym. Zawiera więcej wapnia niż hiperfos, dlatego można stosować jedynie na glebach kwaśnych, wymagających wapnowania.
'''Kalimagnezja''' jest surowcem kopalnym, poddanym obróbce, dzięki której traci szkodliwy dla roślin chlor. Zawiera dużo potasu i poleca się ją stosować przy jego niedoborach oraz przy przestawieniu gospodarstwa.
Większe znaczenie w ogrodach ma '''popiół drzewny''', z racji dostępności i bogactwa składników pokarmowych (popiół z drzew iglastych posiada mniej składników niż popiół z drzew liściastych). Jeżeli posiadamy kominek czy kocioł na drewno możemy wykorzystać powstały w nich popiół dodając go do kompostu czy też bezpośrednio na zagony. Działa powoli i w przeciwieństwie do pozostałych nawozów mineralnych ma w miarę zrównoważony skład (nie zawiera tylko azotu).
'''Fusy z herbaty''' wzbogacają kompost w [[Ekoogrodnictwo/Nawożenie#Azot|azot]]. Nadają się do stosowania dla roślin lubiących lekko kwaśne podłoże, takich jak azalie, hortensje, rododendrony i róże. Można je rozsypać bezpośrednio pod rośliny, wymieszać z ziemią podczas sadzenia lub przesadzania roślin w domu lub w ogrodzie, dodać do kompostownika lub dodać do wody do podlewania. W tym celu zalej fusy ciepłą wodą, poczekaj co najmniej kilka godzin, a następnie użyj do podlewania raz w tygodniu lub raz na dwa tygodnie. Fusy z herbaty są naturalnym, długodziałającym nawozem.
{{Uwaga|Nie stosuj fusów ze słodzonej herbaty, unikaj fusów z herbat sztucznie aromatyzowanych. Nie stosuj do roślin wrażliwych na zawarte w herbacie związki (np. kofeina).}}
'''Fusy z kawy''' są bogate w [[Ekoogrodnictwo/Nawożenie#Azot|azot]], [[Ekoogrodnictwo/Nawożenie#Fosfor|fosfor]] i [[Ekoogrodnictwo/Nawożenie#Potas|potas]]. Zakwaszają glebę, a więc służą roślinom kwasolubnym, takim jak rododendrony, azalie, hortensje, wrzos i palmy.
== Inne nawozy ==
'''Śruta rącznikowa''' powstaje po sprasowaniu nasion [[w:Rącznik pospolity|rącznika]]. Nie ma większego znaczenia w naszych ogrodach z racji dostępności, ponadto może wywoływać objawy alergiczne.
'''Wytłoki owocowe''' są nawozami regionalnymi i mają niską wartość nawozową, poza dużą zawartością substancji organicznej. W ogrodach biologicznych nie powinno się stosować wytłoków z owoców pryskanych środkami chemicznymi.
Nawozy z '''glonów morskich''' zawierają sporo wapnia oraz inne pierwiastki. Nawożenie dolistne roślin zwiększa ich odporność. Jeżeli mamy dostęp do glonów z niezanieczyszczonych wód, możemy je kompostować. Można też stosować gotowe preparaty z glonów, dostępne w specjalistycznych sklepach ogrodniczych.
Może nie brzmi to apetycznie, ale bardzo dobrym nawozem mogą być '''ludzkie fekalia''', które jednak należy odpowiednio spreparować. Służą ku temu tzw. [[w:Toaleta kompostująca|suche toalety]], wyposażone w elektryczne systemy wietrzenia, dzięki czemu nie wydziela się z nich nieprzyjemny zapach, gdyż procesy gnilne zostają wstrzymane. Pojemniki z takich toalet regularnie wyjmuje się i zawartość poddaje się przyspieszonemu kompostowaniu - wszelkie patogeny zostaną usunięte. Nawóz można stosować zarówno pod rośliny ozdobne jak i uprawne. Należy nadmienić, że wykorzystywanie suchych toalet zmniejsza zużycie wody o przeciętnie 50%. Dodatkowo z takich toalet odprowadzany jest '''mocz''', który można stosować do podlewania trawników w rozcieńczeniu 1:10.
cojsnbmm4zqqtf39j92ocrtmmnsq0p4
540100
540098
2026-04-19T09:31:08Z
EdytaT
2664
540100
wikitext
text/x-wiki
{{Podrozdział|[[Ekoogrodnictwo]]<br>[[Ekoogrodnictwo/Nawożenie|Nawożenie]]<br>Nawozy}}
{{wikipedia|Nawozy|nawozów}}
== Kompost ==
Prawidłowo wyprodukowany kompost jest bezsprzecznie najbardziej uniwersalnym nawozem, jaki można zastosować w ogrodnictwie. Wiedza teoretyczna dotycząca wytwarzania kompostu w warunkach ogrodowych zawarta jest w części książki pt. [[Ekoogrodnictwo/Kompostowanie|Kompostowanie]].
Kompost działa szybciej niż świeży obornik, dlatego przeważnie stosujemy go wiosną, jest źródłem wszystkich niezbędnych roślinom składników mineralnych oraz próchnicy. Pozwala zagospodarować odpady organiczne z kuchni, które stanowią spory odsetek ogólnej masy odpadów produkowanych w domu czy gospodarstwie. Zamiast spalać liście czy trawę, można z powodzeniem przeznaczyć je na kompost lub ściółkę. Jeżeli od wielu lat uprawiamy ogród zgodnie z naturą, możemy śmiało spróbować uprawiać na samym kompoście nawet tak żarłoczne rośliny jak kapustne.
Najważniejszą chyba zaletą kompostu jest fakt, że pozwala on zachować tak pożądaną (właściwie nawet wymaganą w gospodarstwach ekologicznych) równowagę biologiczną w ogrodzie - odpady z ogrodu i domu przetwarzane są na nawóz, który zasila rośliny wykorzystywane w domu i w ten sposób cykl zamyka się.
Kompost może mieć bardzo różny skład. Można manipulować zawartością azotu w kompoście, dodając do niego rośliny motylkowe, obornik, niektóre zioła (będzie zawierał więcej azotu) lub też dodając wapna czy dolomitu (część azotu ulotni się wtedy do atmosfery). Można wzbogacić kompost w mikroelementy dodając np. mączkę kamienną (granitową, bazaltową itp.) albo popiół drzewny. Ponadto długo leżące komposty mają znacznie mniej materii organicznej a więc i próchnicy od kompostów dojrzewających krócej.
{{Infobox|
''10 litrów kompostu bez dodatków zawiera przeciętnie 10-20 g azotu, 10 g tlenku fosforu(V) i 30 g tlenku potasu.''}}
{| class="prettytable" |
!Nawóz || % azotu (N) || % fosforu (P<sub>2</sub>O<sub>5</sub>) || % potasu (K<sub>2</sub>O) || % wapnia (CaO) || mikroelementy || substancja organiczna
|-
|[[#Kompost|Kompost]] || 0,3 || 0,3 || 0,3 || 2,5 || umiarkowanie || 10-50
|-
|[[#Obornik|Obornik kompostowany]] || 0,4 || 0,27 || 0,55 || 0,46 || umiarkowanie || 10
|-
|[[#Obornik|Obornik bydlęcy świeży]] || 0,4 || 0,2 || 0,5 || 0,5 || umiarkowanie || 20-25
|-
|''Obornik bydlęcy suszony'' || 2 || 1,6 || 4 || 4,1 || umiarkowanie || 45
|-
|[[#Obornik|Obornik koński]] || 0,5 || 0,3 || 0,4 || 0,2 || umiarkowanie || 30
|-
|[[#Pomiot ptasi|Pomiot kurzy i gołębi]] || 1,6 || 1,5 || 0,9 || 2 || dużo || 25-30
|-
|''Suszony pomiot ptasi'' || 3,5 || 4 || 2,5 || 6 || dużo || 30-70
|-
|[[#Odpady poubojowe|Wióry, mączka rogowa]] || 10-14 || 4-5 || brak || 4,3 || mało || 60-80
|-
|[[#Odpady poubojowe|Mączka z krwi]] || 11-15 || 1,3-1,5 || 0,7-0,8 || 0,6 || dużo || 60-70
|-
|[[#Odpady poubojowe|Mączka kostna]] || 3-4 || 21-30 || 0,2 || 30-31 || umiarkowanie || brak
|-
|[[#Inne nawozy|Śruta rącznikowa]] || 5 || 2,5 || 1 || brak || brak || 70
|-
|[[#Nawozy mineralne|Tomasyna]] || brak || 15-20 || brak || 45 || dużo || brak
|-
|[[#Nawozy mineralne|Kalimagnezja]] || brak || brak || 25-28 || brak || MgO, S || brak
|-
|[[#Nawozy mineralne|Hiperfos]] || brak || 27 || brak || 33 || dużo || brak
|-
|[[#Nawozy mineralne|Popiół drzewny]] || brak || 2-4 || 6-10 || 30-35 || dużo || brak
|-
|[[#Nawozy mineralne|Fusy z herbaty]] || ? || ? || ? || ? || ? || ?
|-
|[[#Nawozy mineralne|Fusy z kawy]] || dużo || dużo || dużo || ? || ? || ?
|-
|}
== Obornik ==
Obornik zwierzęcy zawierający słomę jest najważniejszym nawozem w rolnictwie ekologicznym, zawierającym w zrównoważonym stosunku wszystkie niezbędne roślinom składniki (zwłaszcza obornik bydlęcy). W ogrodach biologicznych ma mniejsze znaczenie, gdyż większość ogrodników nie zajmuje się hodowlą zwierząt. Jeżeli jednak mamy możliwość pozyskania pewnego obornika (tzn. z czystej, pewnej hodowli, najlepiej z gospodarstwa ekologicznego, gdzie nie stosuje się hormonów i antybiotyków), to oczywiście będzie on bardzo dobrym nawozem w ogrodzie.
Lepszym rozwiązaniem jest dodanie obornika do kompostu niż bezpośrednio na zagony. Mniejsze ilości świeżego obornika kompostujemy razem z innymi odpadkami, większe natomiast oddzielnie - powstały z nich nawóz będzie służył do nawożenia np. roślin kapustnych czy dyni. W gospodarstwach ekologicznych obornik pryzmuje się przez około 6 miesięcy z zastosowaniem specjalnych roślinnych preparatów - jest on wtedy znacznie lepiej dostępny dla roślin i nie traci takich ilości wody, jakie straciłby w przypadku zwykłego kompostowania.
{{Infobox|'''Zasady stosowania świeżego obornika'''
# ''Gleby lekkie:''
#* stosujemy częściej mniejsze dawki, 1-2 kg/m² co 2 lata
#* możemy stosować obornik wczesną wiosną
#* przekopujemy na głębokość około 12 cm, nieprzekopany jest narażony na straty azotu;
# ''Gleby ciężkie:''
#* stosujemy rzadziej większe dawki, 3-4 kg/m² co 3-4 lata
#* stosujemy jesienią
#* przekopujemy płytko, na około 8 cm aby nie utrudniać jego rozkładu.
Świeży obornik na ciężkich glebach w pierwszym roku jest wykorzystywany zaledwie w 40% przez rośliny, dlatego dużo korzystniej jest stosować obornik pryzmowany lub kompostowany, który działa znacznie szybciej, gdyż jest już częściowo rozłożony.}}
Pewne znaczenie ma w ogrodach biologicznych '''suszony obornik bydlęcy''', do nabycia praktycznie w każdym sklepie ogrodniczym. Można nim zastąpić dojrzały obornik i nawozić wymagające rośliny, można rozcieńczyć go z wodą (i stosować do nawożenia pogłównego) lub dodać do kompostu.
[[Grafika: Hestemøj.jpg|thumb|Obornik koński ma podobny skład do bydlęcego. Jest nawozem gorącym.]]
'''Obornik koński''' można stosować tak samo jak bydlęcy, chociaż zawiera nieco mniej wody. Należy od do nawozów gorących (rozgrzewa się znacznie w trakcie pryzmowania), dlatego będzie miał zastosowanie w zimnych inspektach czy np. przy uprawie ciepłolubnych ogórków. Można śmiało kompostować go razem z obornikiem bydlęcym.
'''Obornik świński''' zawiera mniej wapnia od bydlęcego ale za to sporo fosforu. Jest nawozem zimnym i podobnie jak każdy obornik powinien zostać przekompostowany lub pryzmowany przed użyciem.
'''Obornik owczy, kozi''' i '''króliczy''' są nawozami gorącymi zawierającymi spore ilości azotu, nawet dwukrotnie większe od obornika bydlęcego. Po przekompostowaniu nadają się pod uprawę bardzo żarłocznych roślin jak żadne inne.
== Pomiot ptasi ==
Ptasie nawozy charakteryzują się dużą ilością składników pokarmowych. Można je uzyskać nawet w ogrodach, hodując kury, kaczki czy gołębie. Nawozy te najlepiej kompostować wraz z ziemią i innymi odpadkami lub w zmieszaniu z obornikiem ssaków, gdyż bardzo szybko nagrzewają się. Świeży pomiot może łatwo poparzyć korzenie roślin. W ogrodach zastosowanie będzie miał także suszony pomiot kurzy - łatwo dostępny w sklepach ogrodniczych.
{{Uwaga|Pomiot ptasi pochodzący z dużych, kurzych ferm nie może mieć zastosowania w ogrodzie. Zwierzęta są tam karmione się je paszami zawierającymi antybiotyki i hormony.}}
'''Guano peruwiańskie''' to odchody i szczątki ptaków morskich, osadzające się od stuleci na wybrzeżach Peru, tworzące tam metrowe pokłady. Jest bardzo bogate we wszystkie składniki pokarmowe i w materię organiczną, znacznie bogatsze od pozostałych nawozów zwierzęcych. W ogrodach ekologicznych odradza się stosowania tego nawozu z kilku względów. Intensywna eksploatacja złów to poważny problem ekologiczny a transport guano z Ameryki Południowej do Europy wykorzystuje znaczne ilości energii a więc i zasobów ziemskich. Ponadto podobne efekty można uzyskać stosując rodzime pomioty ptasie, nie ma więc potrzeby na wykorzystywanie guano.
== Odpady poubojowe ==
Największe znaczenie w ogrodach będzie miała gotowa mieszanka mączki rogowej, mączki z krwi i mączki kostnej, zawierająca kompleks składników pokarmowych i dużo materii organicznej (do 70%), 7-9% azotu, 12% tlenku fosforu(V), 0,3% tlenku potasu, 13% tlenku wapnia. Odpady poubojowe są bardzo dobrym nawozem organicznym, działającym wolno. Pewne ilości możemy dodać do kompostu, polepszając tym samym jego skład. Praktycznie jednak w każdym ogrodzie można się obejść bez odpadów poubojowych, zastępując je kompostem i obornikiem.
{{Infobox|
'''Znaczenie nawozów organicznych'''
* Stanowią doskonałe źródło próchnicy, zwiększającej zdolność gleby do magazynowania składników pokarmowych i poprawiającej stosunki wodno-powietrzne.
* Polepszają strukturę każdej gleby, także jej pojemność wodną.
* Są źródłem składników pokarmowych dla roślin i mikroorganizmów glebowych, dostarczają ich stopniowo w ciągu wegetacji, dzięki czemu ryzyko przenawożenia jest minimalne.
* Łagodzą ujemne skutki, jakie mogą wystąpić w przypadku wykorzystywania mineralnych nawozów sztucznych w ogrodzie.
* Większość nawozów organicznych zawiera wszelkie niezbędne roślinom składniki.}}
== Nawozy mineralne ==
Nie jest prawdą, że w ogrodach czy gospodarstwach ekologicznych nie można stosować nawozów mineralnych. Naturalne nawozy mineralne i niektóre inne, działające powoli są dopuszczone w rolnictwie organicznym. Nieporozumienie wynika z faktu, iż zwykle stawia się znak równości między nawozami mineralnymi pochodzącymi z naturalnych źródeł a nawozami mineralnymi wytworzonymi sztucznie.
Nawozy mineralne mają zastosowanie jedynie tam, gdzie wystąpiły niedobory jakiegoś pierwiastka w glebie oraz np. przy przestawianiu się na metody biologiczne. W innym przypadku powinniśmy zrezygnować z ich stosowania.
'''Miękkie fosforyty''', np. hiperfos mają zastosowanie jedynie na glebach kwaśnych, ze względu na dużą zawartość wapnia. Nie poleca się natomiast stosować w ogrodach ekologicznych szybko działających soli fosforanowych, takich jak superfosfat.
'''Tomasyna''' powstaje jako produkt uboczny przy produkcji stali, ze względu jednak na powolne działanie jest dopuszczona w rolnictwie ekologicznym. Zawiera więcej wapnia niż hiperfos, dlatego można stosować jedynie na glebach kwaśnych, wymagających wapnowania.
'''Kalimagnezja''' jest surowcem kopalnym, poddanym obróbce, dzięki której traci szkodliwy dla roślin chlor. Zawiera dużo potasu i poleca się ją stosować przy jego niedoborach oraz przy przestawieniu gospodarstwa.
Większe znaczenie w ogrodach ma '''popiół drzewny''', z racji dostępności i bogactwa składników pokarmowych (popiół z drzew iglastych posiada mniej składników niż popiół z drzew liściastych). Jeżeli posiadamy kominek czy kocioł na drewno możemy wykorzystać powstały w nich popiół dodając go do kompostu czy też bezpośrednio na zagony. Działa powoli i w przeciwieństwie do pozostałych nawozów mineralnych ma w miarę zrównoważony skład (nie zawiera tylko azotu).
'''Fusy z herbaty''' wzbogacają kompost w [[Ekoogrodnictwo/Nawożenie#Azot|azot]]. Nadają się do stosowania dla roślin lubiących lekko kwaśne podłoże, takich jak azalie, hortensje, rododendrony i róże. Można je rozsypać bezpośrednio pod rośliny, wymieszać z ziemią podczas sadzenia lub przesadzania roślin w domu lub w ogrodzie, dodać do kompostownika lub dodać do wody do podlewania. W tym celu zalej fusy ciepłą wodą, poczekaj co najmniej kilka godzin, a następnie użyj do podlewania raz w tygodniu lub raz na dwa tygodnie. Fusy z herbaty są naturalnym, długodziałającym nawozem.
{{Uwaga|Nie stosuj fusów ze słodzonej herbaty, unikaj fusów z herbat sztucznie aromatyzowanych. Nie stosuj do roślin wrażliwych na zawarte w herbacie związki (np. kofeina).}}
'''Fusy z kawy''' są bogate w [[Ekoogrodnictwo/Nawożenie#Azot|azot]], [[Ekoogrodnictwo/Nawożenie#Fosfor|fosfor]] i [[Ekoogrodnictwo/Nawożenie#Potas|potas]]. Zakwaszają glebę, a więc służą roślinom kwasolubnym, takim jak rododendrony, azalie, hortensje, wrzos i palmy.
== Inne nawozy ==
'''Śruta rącznikowa''' powstaje po sprasowaniu nasion [[w:Rącznik pospolity|rącznika]]. Nie ma większego znaczenia w naszych ogrodach z racji dostępności, ponadto może wywoływać objawy alergiczne.
'''Wytłoki owocowe''' są nawozami regionalnymi i mają niską wartość nawozową, poza dużą zawartością substancji organicznej. W ogrodach biologicznych nie powinno się stosować wytłoków z owoców pryskanych środkami chemicznymi.
Nawozy z '''glonów morskich''' zawierają sporo wapnia oraz inne pierwiastki. Nawożenie dolistne roślin zwiększa ich odporność. Jeżeli mamy dostęp do glonów z niezanieczyszczonych wód, możemy je kompostować. Można też stosować gotowe preparaty z glonów, dostępne w specjalistycznych sklepach ogrodniczych.
Może nie brzmi to apetycznie, ale bardzo dobrym nawozem mogą być '''ludzkie fekalia''', które jednak należy odpowiednio spreparować. Służą ku temu tzw. [[w:Toaleta kompostująca|suche toalety]], wyposażone w elektryczne systemy wietrzenia, dzięki czemu nie wydziela się z nich nieprzyjemny zapach, gdyż procesy gnilne zostają wstrzymane. Pojemniki z takich toalet regularnie wyjmuje się i zawartość poddaje się przyspieszonemu kompostowaniu - wszelkie patogeny zostaną usunięte. Nawóz można stosować zarówno pod rośliny ozdobne jak i uprawne. Należy nadmienić, że wykorzystywanie suchych toalet zmniejsza zużycie wody o przeciętnie 50%. Dodatkowo z takich toalet odprowadzany jest '''mocz''', który można stosować do podlewania trawników w rozcieńczeniu 1:10.
izoydh6tsait77fkf9dmw54yrf5l6sc
Ekoogrodnictwo/Rośliny użytkowe/Rzepa
0
11298
540088
539539
2026-04-19T07:57:02Z
EdytaT
2664
540088
wikitext
text/x-wiki
{{Tabela|id=toc|klasa=tekst-centruj-td|liczba wierszy=3|liczba kolumn=1|pozycja=centruj
| styl 1_1 = background:#ccccff
| komórka 1_1 = [[Ekoogrodnictwo/Rośliny ozdobne | << Rośliny ozdobne]] - '''[[Ekoogrodnictwo|Spis treści]]''' - [[Ekoogrodnictwo/Zwierzęta | Zwierzęta w ogrodzie >>]]
| styl 2_1 = font-size: 90%;
| komórka 2_1 = '''RZEPA'''
| styl 3_1 = border-bottom: 1px solid #a2a9b1;font-size: 90%;
| komórka 3_1 = [[#Uprawa|Uprawa]] - [[#Wskazówki biologiczne|Wskazówki biologiczne]] - [[#Zbiór|Zbiór]] - [[#Odmiany|Odmiany]]
}}
{{Uprawa - roślina infobox
|nazwa = [[w:rzepa|Rzepa]]
|obrazek = Brassica rapa var. rapa (02).jpg
|gleba = średnie
|ciepło = umiarkowane, optimum 15-18°C
|wrażliwość = wytrzymała na mróz
|woda = wymagająca
|łacina = ''Brassica rapa'' var. ''rapa''
|commons = Brassica rapa
|wikispecies = Brassica rapa
|nazwy = Rzepa jadalna
}}
===Uprawa===
Rzepa jest rośliną dwuletnią, w pierwszym roku tworzy jadalne, kuliste, wydłużone lub spłaszczone zgrubienie. Wczesne odmiany uprawia się jako przedplon.
Jest rośliną niskokaloryczną o wyśmienitym smaku, można ją przyrządzać na wiele sposobów, spożywać na świeżo, gotować, piec.
Gleba w międzyrzędziach musi być często spulchniana, odchwaszczana i podlewana.
=====Miejsce uprawy=====
Rzepy preferują miejsca słoneczne, większość lubi też lekkie, piaszczyste gleby, chociaż udaje się także na innych. ''Rzepa teltowska'' powinna być uprawiana tylko i wyłącznie na glebach piaszczystych.
=====Siew/sadzenie=====
Przed siewem dobrze jest spulchnić głęboko glebę. Nasiona odmian wczesnych wysiewa się na przełomie marca/kwietnia, zbiór pęczkowy przypada wtedy w czerwcu. Późne odmiany uprawiane są jako poplon, wysiewane od lipca do połowy sierpnia, w rzędach co '''30 cm''', zbierane w październiku i listopadzie. W tym samym czasie uprawia się ''rzepę teltowską'' w rzędach co 15 cm. Nasiona odmian wczesnych wysiewa się w rzędach oddalonych od siebie o '''20 -25 cm''' na głębokość 2 cm. Po wchodach konieczna jest przerywka, tak by rośliny znajdowały się w odległości 8-20 cm od siebie.
=====Uprawa pod szkłem=====
Odmiany majowe można wysiewać pod szkłem od grudnia do stycznia, rzepę teltowską od sierpnia do września, odmianę ''Rübstiel'' od stycznia do marca - ma ona wysokie wymagania cieplne.
[[grafika: Brassica rapa turnip.jpg|thumb|left|Niektóre odmiany rzepy są trochę podobne do rzodkiewki.]]
===Wskazówki biologiczne===
W maju rzepę ochrania się przed śmietką kapuścianą za pomocą specjalnej siatki. Rzep nie należy uprawiać po roślinach kapustnych, gdyż należą do tej samej rodziny botanicznej (''krzyżowe'').
Rzepa należy do roślin o przeciętnych wymaganiach pokarmowych, na uboższych glebach można ją dodatkowo zasilić [[Ekoogrodnictwo/Ochrona roślin/Preparaty roślinne#Pokrzywa zwyczajna|gnojówką z pokrzywy]]. Należy chronić ją przed [[Ekoogrodnictwo/Ochrona roślin/Szkodniki i choroby#Ślimaki|ślimakami]]. Rzepa jest dobrą rośliną przed- (np. dla [[Ekoogrodnictwo/Rośliny użytkowe/Oberżyna|oberżyny]], [[Ekoogrodnictwo/Rośliny użytkowe/Koper włoski|kopru włoskiego]], [[Ekoogrodnictwo/Rośliny użytkowe/Papryka|papryki]], [[Ekoogrodnictwo/Rośliny użytkowe/Czosnek|czosnku]], [[Ekoogrodnictwo/Rośliny użytkowe/Marchew|marchwi]], [[Ekoogrodnictwo/Rośliny użytkowe/Buraki czerwone|buraków czerwonych]], strączkowych) i poplonową np. dla [[Ekoogrodnictwo/Rośliny użytkowe/Marchew|marchwi]] czy strączkowych. Dobrymi dla niej roślinami sąsiadującymi są: [[Ekoogrodnictwo/Rośliny użytkowe/Fasola|fasola]] i inne strączkowe, [[Ekoogrodnictwo/Rośliny użytkowe/Ogórek|ogórek]], [[Ekoogrodnictwo/Rośliny użytkowe/Rzodkiewka|rzodkiewka]], [[Ekoogrodnictwo/Rośliny użytkowe/Sałata|sałata]], [[Ekoogrodnictwo/Rośliny użytkowe/Seler|seler]], [[Ekoogrodnictwo/Rośliny użytkowe/Marchew|marchew]], [[Ekoogrodnictwo/Rośliny użytkowe/Por|por]], [[Ekoogrodnictwo/Rośliny użytkowe/Szpinak|szpinak]], [[Ekoogrodnictwo/Rośliny użytkowe/Ziemniaki|ziemniaki]]. Nie znosi towarzystwa [[Ekoogrodnictwo/Rośliny użytkowe/Pomidor|pomidorów]]. Rzepa może wrócić na to samo stanowisko nie wcześniej niż po upływie czterech lat.
===Zbiór===
Do spożycia rzepa nadaje się gdy zgrubienie osiąga grubość 3,5 cm u odmian wczesnych i 5 cm u późnych czyli po około 4-6 tygodniach. W tej fazie można spożywać także liście rośliny. Odmiany jesienne przechowuje się podobnie jak marchew, pozostałe spożywa się bezpośrednio po zbiorze. Ścięta po 6 tygodniach nać ponownie odrasta. Wczesne odmiany łatwo wyrwać z ziemi, późne można podważyć widłami amerykańskimi.
===Odmiany===
* średnio wczesne:
** ''Schneeball'' - biała
* średnio późne:
** ''Goldball'' - żółta
<hr>
[[Ekoogrodnictwo/Rośliny użytkowe|Rośliny użytkowe]] --- [[Ekoogrodnictwo/Zwierzęta w ogrodzie|Zwierzęta w ogrodzie>>>]]
omu4l2uebve6ur2j4kjxgckk7zgt4vt
Dyskusja wikipedysty:EdytaT
3
13421
540074
532837
2026-04-18T20:38:29Z
Persino
2851
/* Znaczniki: {{Tag|font}}, {{Tag|tt}}, {{Tag|center}} */
540074
wikitext
text/x-wiki
{{Witaj}} --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 17:43, 17 lut 2008 (CET)
== Spis treści ==
Jeśli mógłbym się wtrącić - spis treści książki najlepiej zrobić na takiej samej stronie, jak tytuł podręcznika. W ten sposób czytelnik chcący wrócić do spisu treści będzie mógł skorzystać z linku pod tytułem strony. Strona typu [[Pszczelarstwo/Spis treści]] to dla czytelnika tylko dodatkowe klikanie. Poza tym dużo łatwiej tworzy się linki, jeśli spis treści nie jest podstroną. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 19:44, 17 lut 2008 (CET)
Witaj! Widzę że postanowaiłaś napisać coś o pszczelarstwie. To super, tego nam brakowało. Jednak jeli mogę zwrócić uwagę, co do słów poruszonych przez Derbetha - panuje u nas pewna konwencja tworzenia podręcznika. Według niej strona "Nazwa podręcznika" jest zarazem spisem treści. Ułatwia to zarówno nawigację czytelnikom, jak późniejsze prace z rozwojem książki i tworzeniem wersji do druku. Czyli nie tworzymy już strony "Nazwa podręcznika/Spis treści". Okładki natomiast tworzymy w osobnej stronie "Nazwa podręcznika/Okładka". Wiemy, że odbiega to od tradycyjnej konwencji podręcznika papierowego, jednak forma taka mile widziana jest zarówno przez samych twórców jak i czytelników, a nasze szablony są do niej przystosowane. Derbethowi chodziło aby spis treści przenieść na [http://pl.wikibooks.org/w/index.php?title=Pszczelarstwo&redirect=no tą stronę] - bez integracji z okładką. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:04, 17 lut 2008 (CET)
: Okładka może być, tylko, że powinna być na stronie o nazwie "okładka" ;-). W skrócie - powinno to wyglądać tak, jak w podręczniku [[Szachy|Szachy/Okładka]]. Jeśli chcesz, możesz wrócić do układu okładka + spis treści. Ogólnie, jeśli masz jakieś wątpliwości, zerknij, jak to jest zrobione w jednym z podręczników wyróżnionych na stronie głównej, lub spytaj się kogoś, kto jest aktywny akurat na Ostatnich zmianach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 20:18, 17 lut 2008 (CET)
== Puste strony ==
Witaj. Jeśli tworzymy jakieś strony, które potem okazują się zbędne - nie kasujemy ich zawartości, lecz zalecamy administratorom serwisu ich całkowite skasowanie - przez wstawienie na niepotrzebnej stronie szablonu (linijki kodu: {{s|ek|powód}}) - bowiem "pusta strona" nadal pozostaje indeksowana w systemowej bazie danych, a wyszukiwarki zewnętrzne typu google mogą dawać potem fauszywe wyniki dla podobnych zapytań. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 14:06, 18 lut 2008 (CET)
== Re: Rozdział czy nowy podręcznik ==
Witaj. Jeśli chodzi o tworzenie podręczników, mogę doradzić, że najlepiej jest skupić się na precyzyjnym rozpoczęciu prac nad [[Pszczelarstwo|Pszczelarstwem]] - masz już szkieletowy zarys podręcznika i przydałoby się tchnąć w niego życie w postaci jakiegoś wstępu - innego niż link do Wikipedii, i może rozpoczęcia wpisywania treści rozdziałów. Bowiem skupiając się tylko na rozwijaniu samego szkieletu, bez ogólnej koncepcji treści jaką miałby zawierać podręcznik zamknąć się można w tym, że nagle powstaną rozdziały chemia itp. - i z pszczelarstwa dojdziemy do fizyki kwantowej - a chyba nie o to chodziło. Apiterapia jest faktycznie rozległą dziedziną. Mile widziany byłby osobny podręcznik na ten temat. Nie oznacza to jednak, że nie można by poświęcić kilku słów o apiterapii w samym podręczniku o pszczelarstwie. Pamiętaj, że w odróżnieniu od Wikipedii, nie piszemy osobnych artykułów, a książka i jej rozdziały powinny mieć związaną i logicznie spójną koncepcję. Myślę, że można opisać ten rozdział na tyle krótko aby nie przesadzać z treścią i za razem na tyle wyczerpująco, aby był on znakomitym wprowadzeniem do pojęcia tego czym jest apiterapia w ogóle, czym się cechuje i czego można się spodziewać oraz jakich grup produktów się przy niej stosuje. Natomiast później skupić się na tworzeniu nowego podręcznika [[Apiterapia]]. Tak byłoby moim zdaniem najrozsądniej. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:07, 21 lut 2008 (CET)
P.S. Odpisałem również na pytanie z działu [[Wikibooks:Poproś o pomoc e-bibliotekarza]]. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:37, 21 lut 2008 (CET)
==Nawigacja, spisy etc.==
Witaj. Taka mała praktyczna porada. Każda strona/moduł może być użyta w innych stronach na zasadzie szablonu. Stąd też szablony nawigacyjne w rozdziałach, opcje spisu treści (np. <nowiki>__NOTOC__</nowiki>) warto zamieszczać pomiędzy znacznikami tagów <nowiki><noinclude></noinclude></nowiki>. Pomaga to przy późniejszym tworzeniu stron przeglądowych/broszurowych danych rozdziałów, wersji do druku itp. bowiem te dane nie będą dołączane na stronach zbiorczych. Zamieszczenie na jakiejś stronie szablonu z linijką <nowiki>__NOTOC__</nowiki> powoduje niewyświetlanie się spisu treści zarówno w szablonie jak i na stronie na której jest zawarty. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:03, 13 mar 2008 (CET)
== Import ==
Witaj. Widzę że chwilowo masz przerwę. Mam nadzieję, że niedługo wrócisz do pracy nad podręcznikiem bo zanosi się na ciekawą pozycję. W tym czasie głosiłem kilka stron z podręcznika [[Pszczelarstwo]] do [[Wikibooks:Import stron]], by uzupełnić kilka stron. Mam nadzieję, że Ci to nie popsuje szyków i zamysłu podręcznika. Strony co prawda po imporcie i tak będą wymagały jeszcze Twojego wkładu. W razie pytań lub objekcji - proszę daj znać. Pozrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 10:23, 17 maj 2008 (CEST)
[[Wikibooks:Import stron|Import]] to narzędzie do importowania stron z innych projektów Wiki. Co prawda treści zamieszczane na serwisach Wiki można dowolnie kopiować, ale trzeba wtenczas każdorazowo podawać i licencję i autorów. Import polega na skopiowaniu całego artykułu z jednego wikiprojektu na drugi, razem z historią edycji (to jest również listą autorów). W Twojej książce jest pełno rozdziałów które nie mają nic więcej oprócz linku do Wikipedii. Takie strony można zaimportować na Wikibooks - aby książka nabrała formy i treści, a następnie przerabiać tekst otrzymany w ten sposób, bez kłopotania się o licencje i wytykanie bezmyślnego kopiowania cudzego wkładu. Powodzenia w hodowli. ;o) [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:31, 28 maj 2008 (CEST)
: Cześć. Przepraszam, że tak strasznie długo to trwało, ale zaimportowałem strony, o które prosiłaś. Jeśli będziesz chcieć czegoś jeszcze - napisz. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:35, 27 lip 2008 (CEST)
:Od siebie dodam (jako pośrednika) że teraz przydałoby się przeedytować te strony - tak aby lepiej pasowały do podręcznika (i pokasować zbędne linki). [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:17, 28 lip 2008 (CEST)
== Pszczelarstwo/Pomoc ==
Widzę że ponownie bieresz się do pracy. :) Taka mała uwaga. Punktowania i akapity można ze sobą mieszać, aby uzyskiwać relatywnie ładne wzięcia,np. tak:
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
**: de: Polyethismus
**: en: Polyethism
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
*: de: Polyethismus
*: en: Polyethism
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
: de: Polyethismus
: en: Polyethism
Choć faktycznie, na starszych przeglądarkach lub jakichś Linuxowych kombajnach mogą pojawiać się jeszcze kropki. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 13:04, 10 cze 2008 (CEST)
== 3k, urodziny, ściganie Japonii ==
Witaj pracusiu. Zbliżają się święta. Polskie Wikibooks obchodzi urodziny '''10 lipca''', do tego zbliżamy się do 3 tyś. modułów - to wspaniała szansa na podwójne święto. Ba - w rankingu Wikibooks, Polska jest zaraz za Japonią - różnica ok. 80 rozdziałów książek. Wysuwam więc pomysł z inicjatywą, [http://pl.wikibooks.org/w/index.php?title=Wikibooks%3ABar&diff=76448&oldid=76445 jak ta], żeby chwilowo zamrozić licznik. Dzięki temu będziemy mogli za około 2 tygodnie przygotowywać się do potrójnego święta. Na czym polega pomysł i inicjatywa? Licznik zlicza nowe moduły tworzone w głównej przestrzeni nazw - pomysł polega na tym, żeby wszystkie nowe strony (czerwone linki) Wikipedyści tworzyli przez najbliższe kilka tygodni w brudnopisach - na swoich stronach podręcznych "Wikipedysta:Nazwa/strona podręczna". Następnie za 2 tygodnie przenieśli je "przycisk przenieś" do przestrzeni głównej. Dzięki temu efektowi kumulacji, nie dość że zgromadzimy strony potrzebne do "doskoku i prześcignięcia" Japonii, ale i będziemy mieli potrójne święto Wikibooks. Dodatkowo, jest pomysł utworzenia/przetłumaczenia książki urodzinowej, którą moglibyśmy dodatkowo z tej okazji wykonać. Co myślisz o tej inicjatywie - zapraszam do [[WB:BAR|baru]] do podzielenia się swoją opinią. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:56, 11 cze 2008 (CEST)
Można ogłosić częściowy sukces - udało nam się dotrwać do lipca. Jeśli posiadasz jakieś strony w brudnopisie - gorąco zachęcam do uwolnienia ich do przestrzeni głównej (używając przycisku "przenieś" na górze lub dole strony - w zależności od skórki jaką wybrano w profilu). Zachęcam do udziału w projekcie i wzmożenia pracy w najbliższych dniach - może uda nam się osiągnąć pułap dodatkowych 100 artykułów i prześcignąć Japonię. ;o) Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:09, 4 lip 2008 (CEST)
== Pszczelarstwo - omijaki ==
Witaj. Znalazłem kilka zgubionych stron które widocznie "wypadły z rękopisu" (nie prowadzą do nich żadne linki ani ze spisu treści ani innych stron pszczelarstwa):
[[Pszczelarstwo/Biologia_czerwiu]]
[[Pszczelarstwo/Zimowla]]
[[Pszczelarstwo/Pomoc/Bibliografia/PL_SODR_Częstochowa_2006]]
Jeśli są zbędne wstaw proszę w nich linijkę {{s|ek}} - oznaczając je do usunięcia. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:59, 29 lip 2008 (CEST)
Nie ma sprawy. W razie kłopotów możesz liczyć na moją pomoc. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 13:48, 30 lip 2008 (CEST)
==[[Wikibooks:Import stron]]==
Niestety import jest narzędziem dość specyficznym i mogą go obsługiwać jedynie administratorzy/operatorzy systemu. Dlatego prośby należy kierować bezpośrednio na stronie: [[Wikibooks:Import stron]] - tam napisz co chcesz przenieść i dokąd. Administratorzy nie będą raczej robili problemów, choć może to zająć chwilkę. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:58, 6 sie 2008 (CEST)
:Hej. Zaimportowałem stronę o którą prosiłaś na adres: [[Pszczelarstwo/Szkodniki/Aethina]]. Możesz się nią spokojnie zająć. ;o) Teraz zgłoszenia będą szybciej obsługiwane. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 19:53, 24 lut 2009 (CET)
:Strony zaimportowane. Przy okazji pokasowałem troszkę zbędnych linków, ale nadal moduły wymagają dopracowania i reedycji - ale zawsze łatwiej na gotowym tekście ;). Pozdrawiam i życzę owocnej pracy :) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:57, 29 kwi 2009 (CEST)
:: Przepraszam za zwłokę. Strony już zaimportowane - musisz jeszcze tylko pokasować zbędne linki, szablony i kategorie. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 00:36, 16 maj 2009 (CEST)
== Urodziny Wikibooks ==
Cześć. 24 stycznia polskim Wikibooksom stuknie 5 latek. Trochę byłoby szkoda, gdyby to przeszło bez echa - [http://stats.wikimedia.org/wikibooks/PL/ChartsWikipediaPL.htm podczas wakacyjnej akcji] przybyło w końcu nieco modułów :). W [[Wikibooks:Bar#Urodziny Wikibooks|kawiarence]] dałem kilka propozycji, co można by na takie urodziny zrobić. Na jesień udało mi się przez wykop rozpropagować jakoś podręcznik fotografii (i też na statsach fajnie widać październik ;) Jeśli masz inne propozycje, też je dorzuć. Wiem, że na booksach jest tak, że każdy swoją działkę pieli, ale jeśli sami się nie rozpropagujemy, to niewiele osób będzie tu trafiało. Pozdrawiam i niech nas przybywa :) [[Wikipedysta:Przykuta|Przykuta]] 14:18, 18 sty 2009 (CET)
== EK ==
Witaj,
jeśli chcesz usunąć stronę pisanego przez siebie podręcznika, to dodaj do szablonu ek informację o powodzie usunięcia tejże strony. Dzięki temu administrator kasując stronę nie będzie musiał w historii doszukiwać się kto i dlaczego usuwa dany moduł ;-). Pozdrawiam i z góry dziękuję. --[[Wikipedysta:Kj|Kj]] 16:52, 1 cze 2009 (CEST)
== Przypisy ==
Witam. Lepiej? P.S. W artykule [[w:Wikipedia:przypisy]] znajdziesz opis jak tworzyc automatyczne listy przypisów. Jest to troszkę łatwiejsze i ogólnie bardziej zalecane. Pozdrawiam -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:30, 1 lip 2009 (CEST)
== fotki ==
Może się przydadzą: [[:Plik:Podkurzacz Wigry 18.07.2009 p.jpg]] i [[:Plik:Wosk pszczeli - świece 18.07.2009 p.jpg]]. Pozdrawiam [[Wikipedysta:Przykuta|Przykuta]] 16:53, 7 wrz 2009 (CEST)
== Bar ==
Witaj! zacząłem w Barze dyskusję w nowej sekcji, odnośnie usuwania stron. Zaproponowałem ustalenie formalnych zasad usuwania podręczników i modułów. Ciekawi mnie Twoje zdanie i chciałbym, żebyś napisała kilka słów od siebie. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 23:38, 22 lis 2009 (CET)
== SdU ==
hej! brakuje nam głosów w dyskusji na [[Wikibooks:Strony do usunięcia|SdU]] nad usunięciem kilku wadliwych stron, dotyczących Genealogii Piastów. Byłbym wdzięczny, gdybyś wyraziła swoje zdanie. Pozdr. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:32, 14 kwi 2010 (CEST)
== [[Pszczelarstwo/Choroby/DWV]] ==
Sprawdź proszę tą stronę, bo nie wiem, czy mam tam wstawić "ek" i powiadomić autora, czy tak ma być, jak jest. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 14:52, 10 cze 2010 (CEST)
* napisałem do autora modułu, brak odzewu, więc wstawiłem "ek". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:01, 12 cze 2010 (CEST)
== [[Fizyka teoretyczna]] ==
Czy chciałabyś się przyłączyć się do projektu: [[Fizyka teoretyczna]], poprawiając tylko błędy językowe? Jeśli zostanie już coś poprawione, to dobrze by było zaznaczyć to w pliku: [[Fizyka teoretyczna/Koordynacja|Koordynacja]]. [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja Wikipedysty:Persino|dyskusja]]) 19:37, 17 lip 2010 (CEST)
== Pszczelarstwo - omijak ==
Witaj!
Znalazłem zagubioną stronę [[Pszczelarstwo/Hodowla/Linie]] która nie jest nigdzie indziej w podręczniku wspominana (brak odnośników). Mamy ją usunąć - czy znajdzie się dla niej jakieś miejsce? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:42, 3 paź 2010 (CEST)
Ok. Strona usunięta. Miło jest mieć na Wikibooks tak fajny podręcznik. Może pasieki nie założę, ale przynajmniej coś niecoś człowiek może się dowiedzieć na ten temat. :) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:38, 10 paź 2010 (CEST)
== Przypisy w książce [[Pszczelarstwo]] ==
Poprawisz przypisy na podstronach [[:Kategoria:Strony z zepsutymi przypisami|Pszczelarstwo/Rośliny]]? Są puste i nie wiem co tam powinno w nich być. Może pamiętasz? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 17:53, 24 mar 2017 (CET)
== Odp. {{lżu|Persino#Potrzebuję pomocy :)|d=tak}} ==
Wystarczy poprawić szablon {{s|{{N|Przepisy}}|subnazwa=tak}} przy linkach. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:01, 31 sie 2020 (CEST)
== {{lg|Onomastyka}} ==
Dodałem do każdego artykułu tej książki kategorię: {{lk|Książka:Onomastyka}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:07, 5 sty 2021 (CET)
* Jeśli chcesz linkować do strony głównej swojej książki, użyj: {{s|sr}}, a to da w efekcie: {{sr|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:13, 6 sty 2021 (CET)
== Tabulator ==
Przeczytaj stronę {{lz|s=https://brainly.pl/zadanie/7011191|n=tutaj}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:40, 29 sty 2023 (CET)
== Szablon tabeli w szablonie quizu ==
Już przykład naprawiony. Użyj szablonów {{s|Tabelka}}, {{s|Wiersz}} i {{s|Komórka}}, albo {{s|Tabela}}, a także szablon {{s|Div}} i jego kolegów do formatowania! Dokumentacja na ich stronach opisu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:24, 29 sty 2023 (CET)
== Filtr nadużyć ==
; Różne filtry;
* {{Ping|EdytaT}} Już naprawiłem problem w filtrze nadużyć, dotyczącą list! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:48, 12 mar 2025 (CET)
* {{Ping|EdytaT}} Użyj szablonu {{s|Center}} zamiast znacznika {{Tag|center}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:23, 26 maj 2025 (CEST)
* {{Ping|EdytaT}} Już usunąłem problem z filtrami nadużyć, ale zamiast znacznika {{Tag|center}} używaj {{s|Center}}. A zamiast tworzyć tabelki, to nie prościej jest stworzyć szablon, który umiejscowisz w {{s|Center}}? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:22, 28 cze 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst", i jego podobnymi. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:44, 3 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Opis strony, w części nierozdziałowej, z tylko wielkimi literami". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:21, 4 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Wikitekst strony z wulgaryzmami w języku polskim". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:10, 5 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:34, 5 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:16, 7 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem błąd prograministyczny w filtrze: "Wielokrotne nowe linie znacznikowo-znakowe". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:34, 10 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem błąd w filtrze: "Powtarzające się ciągi znaków w linii wikitekstu". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:43, 18 lip 2025 (CEST)
* {{Ping|EdytaT}} Błędy z filtrami wczorejszymi usunąłem. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 08:26, 31 sie 2025 (CEST)
; Filtr nadużyć{{Dk}} "Styl do sprawdzenia";
* {{Ping|EdytaT}} Według filtra nadużyć: "Styl do sprawdzenia", popełniłaś błąd, użyłaś wyrażenia: "warto dodać" (zły styl), który należałoby naprawić!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:58, 7 lip 2025 (CEST)
* {{Ping|EdytaT}} Następne ostrzeżenie od filtra nadużyć: "waże jest", na stronie: "Napary_ziołowe/Czystek". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:38, 7 lip 2025 (CEST)
** {{Ping|EdytaT}} Teraz ten filtr nie będzie uniemożliwiał edycji, tylko będzie wysyłał znacznik. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:13, 7 lip 2025 (CEST)
; Związane z filtrami
* {{Ping|EdytaT}} Spróbuj swoje wiki-tabelki przepisać na szablony, propozycja to jest: {{s|Tabelka}}, {{s|Tytuł}}, {{s|Wiersz}} i {{s|Komórka}}, lub użyć o wiele prościej szablonu: {{s|Tabela}} - przykłady na jego stronie opisu szablonu: {{s|Tabela/opis}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:43, 18 lip 2025 (CEST)
** {{Ping|EdytaT}} Jak chcesz mogę pomóc. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:47, 18 lip 2025 (CEST)
* {{Ping|EdytaT}} Już możesz wpisywać teksty, które nie przeszły w wyniku działania filtrów nadużyć, teraz powinny przejść, te wszystkie błędy usunąłem w miarę potrzeby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:35, 24 lip 2025 (CEST)
* <del>{{Ping|EdytaT}} Nie rób w jednej linii, tak wielu znaczników {{Tag|br|pojedynczy}}. Wystarczy przejście do nowej linii, nawet w szablonach, jeśli to możliwe. Użycie wielu znaczników tych w jednej linii może spowodować zgłoszenie filtrów nadużyć. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:23, 24 sie 2025 (CEST)</del>
* {{Ping|EdytaT}} Już usunąłem wszystkie błędy z filtrów nadużyć, które powodowały ostatnio twoje edycje. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:06, 24 sie 2025 (CEST)
== Prośba ==
W wolnej chwili uprzejmie proszę o rzucenie okiem na skrzynkę mailową, ponieważ wysłałem do Pani maila. Nie jest to nic pilnego. Jeżeli byłaby taka możliwość to bardzo proszę o odpowiedź również mailową.
Dobrego wieczoru, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:16, 15 paź 2025 (CEST)
== Zamienianie linków wewnętrznych na zewnętrzne robiące to samo ==
Dlaczego zamieniasz nazwy linków wewnętrznych na zewnętrzne linkujące do tej samej strony! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:12, 17 paź 2025 (CEST)
:Hej, problem polega na tym, że ten link wewnętrzny nie działa. Zobacz tu: Karbieniec pospolity (jeszcze nie zmienilam na zewnetrzny). Robie to rowniez z zamiarem, ze jak ta linia kodu bedzie wszedzie ujednolicona, to bedzie to mozna za jednym zamachem wszedzie zmienic na poprawiony link wewnetrzny albo nawet szablon. Zglosilabym sie z taka prosba do ciebie, jak juz bylabym gotowa. Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 11:18, 17 paź 2025 (CEST)
:Wystarczy napisać: {{L|w:Wikipedia:Zastrzeżenia_dotyczące_pojęć_medycznych|Zastrzeżenia dotyczące pojęć medycznych}} lub kod: {{s|lpr|Zastrzeżenia dotyczące pojęć medycznych}}, wynik: {{lpr|Zastrzeżenia dotyczące pojęć medycznych}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]])
== Odp. ==
Dzień dobry. Oczywiście mogę się tego trzymać i tworzyć tylko autorskie przepisy. Jednak pragnę zauważyć różnicę między moim wkładem a wkładem użytkownika Świętokrzyskie3 - on przepisywał słowo w słowo przepis i wklejał go na Wikibooks (co oczywiście jest nielegalne, ponieważ jest naruszeniem praw autorskich, co jest przestępstwem). Ja natomiast dokładnie analizuje przepis i własnymi słowami piszę co należy zrobić i tworzę listę składników. Zwłaszcza, że książka skąd pochodzą przepisy na rozmaite sałatki jest dość stara i mało dostępna, więc chciałem jej wartościowe przepisy przenieść do świata wirtualnego. Ale rozumiem, zaprzestanę. Myślałem, że nie jest to niezalecane, bo na podobnym wariancie tworzył kiedyś przepisy Cyborian ([[Specjalna:Wkład/Cyborian]]).
Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:07, 22 paź 2025 (CEST)
== Odp. ==
Dziękuje bardzo za informację, nie wiedziałem, że toczy się dyskusja. Zabrałem głos. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:17, 27 paź 2025 (CET)
== Naruszenia praw autorskich na Wikibooks ==
Witaj. Piszę informacyjnie - dzisiaj otrzymałem przyznane mi przez Was (dziękuję!) uprawnienia administratora. Dokończyłem sprzątanie naruszających prawa autorskie przepisów użytkownika [[Specjalna:Wkład/Snd125671|Snd125671]](bo nie wszystkie były naruszeniem), więc wydaje się, że raz na zawsze udało nam się uporać z tymi naruszeniami w książce kucharskiej. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:37, 28 paź 2025 (CET)
:@[[Wikipedysta:Igor123121|Igor123121]] Dziekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:52, 28 paź 2025 (CET)
::Hej. Bardzo dziękuję za informację o dwukropkach. Poprawione :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:03, 7 lis 2025 (CET)
{{DNU/info|Wstępna charakterystyka bakteriofaga Serratia φOS10|2025:11:12|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:33, 12 lis 2025 (CET)
== Odp. ==
Cześć. Jutro mogę przenieść kategorię i elementy, mam nadzieje, że to nie problem. Pozdrawiam serdecznie! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:52, 12 lis 2025 (CET)
{{DNU/info|Książka kucharska/Alfabetyczny spis potraw|2025:11:12|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:27, 12 lis 2025 (CET)
{{DNU/info|Mykowirusy – wirusy infekujące grzyby|2025:11:13|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:27, 12 lis 2025 (CET)
== Kategoria:Gimnazjum ==
Cześć! Dzisiaj dokończyłem przenoszenie tej kategorii na "Kategoria:Klasy 7-8 szkoły podstawowej" Przepraszam, że po 4 dniach, ale zupełnie wypadło mi z głowy. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:51, 17 lis 2025 (CET)
== Odp.: [[User talk:Persino#Szablony dla przypisow|Szablony dla przypisów]] ==
Oto są szablony, o które prosiłaś: {{s|Brudnopis/Persino/Pszcz Pasieka24}} i {{s|Brudnopis/Persino/Ziel Panacea}}.
Przykłady:
: Pierwszy: {{s|Brudnopis/Persino/Pszcz Pasieka24|260-pasieka-5-2024|260-pasieka-5-2024}} → {{Brudnopis/Persino/Pszcz Pasieka24|260-pasieka-5-2024|260-pasieka-5-2024}},
: Drugi: {{s|Brudnopis/Persino/Ziel Panacea|tymianek-2/|tymianek-2}} → {{Brudnopis/Persino/Ziel Panacea|tymianek-2/|tymianek-2}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:22, 7 gru 2025 (CET)
To masz na dwa sposoby...
Przykłady:
: Pierwszy: {{s|Brudnopis/Persino/Pszcz Pasieka24|podstrona{{=}}260-pasieka-5-2024|nazwa{{=}}260-pasieka-5-2024}} → {{Brudnopis/Persino/Pszcz Pasieka24|podstrona=260-pasieka-5-2024|nazwa=260-pasieka-5-2024}},
: Drugi: {{s|Brudnopis/Persino/Ziel Panacea|podstrona{{=}}tymianek-2/|nazwa{{=}}tymianek-2}} → {{Brudnopis/Persino/Ziel Panacea|podstrona=tymianek-2/|nazwa=tymianek-2}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:46, 7 gru 2025 (CET)
Jedynie je pozostało przenieść do przestrzeni podstawowej niebrudnopisowej: {{Np|Template|link=tak}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:52, 7 gru 2025 (CET)
Na tych stronach, co dodałaś te szablony, zamień według:
: {{s|Brudnopis/Persino/Pszcz Pasieka24}} → {{s|Pszcz Pasieka24}},
: {{s|Brudnopis/Persino/Ziel Panacea}} → {{s|Ziel Panacea}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:41, 7 gru 2025 (CET)
Dla szablonu: {{s|Pszcz FeA}}
: {{s|Pszcz FeA|fiori_e_api.pdf|<nowiki>''Fiori e Api''</nowiki>|autor{{=}}Ricciardelli, G., Intoppa|czasopismo{{=}}Bolonia 2000}} → {{Pszcz FeA|fiori_e_api.pdf|''Fiori e Api''|autor=Ricciardelli, G., Intoppa|czasopismo=Bolonia 2000}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:06, 9 gru 2025 (CET)
; Odp. [[User talk:Persino#Szablony linkow do czasopism jako zrodel - male nieporozumienie|Szablony linków do czasopism jako źródeł - małe nieporozumienie]]
Tak, oddaje ten twój sens. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:18, 11 gru 2025 (CET)
; Odp. '''Pytanie do: "Jak tworzyć szablony szczególne szablonu <nowiki>{{PrzypisStrona}}</nowiki>, w oparciu o ten szablon"'''
Dalsze stałe umieszczamy tam gdzie pole adresu, np.
: {{s|NoweWywołanieModułu|adres{{=}}...|czasopismo{{=}}..|itd.{{=}}...|inne parametry{{=}}...}},
oto przykład:
{{Pre|{{m|Ramka|Szablon|Nazwa{{=}}PrzypisStrona|adres{{=}}https://panacea.pl|czasopismo{{=}}...|issn{{=}}...|wydawca{{=}}...|itd.{{=}}...|bez argumentów szablonu{{=}}url;tytuł;praca|zmienna z parametrami rodzica{{=}}tak|zmienna z argumentami ramki{{=}}tak}}}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:13, 14 gru 2025 (CET)
: Nie ma zmiennej {{Code|autorzy}}, tylko jest {{Code|autor}}, w którym możesz pisać jednego lub więcej autorów, tak jak w szablonie {{s|Cytuj}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:32, 14 gru 2025 (CET)
== Znaczniki: {{Tag|font}}, {{Tag|tt}}, {{Tag|center}} ==
Zamiast znacznika: {{Tag|font}}, stosuj szablon: {{s|font}}, {{Tag|tt}} - {{s|tt}} i {{Tag|center}} - {{s|center}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:23, 14 lut 2026 (CET)
== [[:Kategoria:Szablon uprawa - roślina infobox (artykuły) do sprawdzenia]] ==
* {{Ping|EdytaT}} Czy mogłabyś dodać obrazki do infoboksu {{s|Uprawa - roślina infobox}} dla stron znajdujących się w kategorii podanej w nagłówku. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:38, 18 kwi 2026 (CEST)
ppm4rly5l809rvfdsixs734qwtdtsh3
540075
540074
2026-04-18T20:39:13Z
Persino
2851
/* Kategoria:Szablon uprawa - roślina infobox (artykuły) do sprawdzenia */
540075
wikitext
text/x-wiki
{{Witaj}} --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 17:43, 17 lut 2008 (CET)
== Spis treści ==
Jeśli mógłbym się wtrącić - spis treści książki najlepiej zrobić na takiej samej stronie, jak tytuł podręcznika. W ten sposób czytelnik chcący wrócić do spisu treści będzie mógł skorzystać z linku pod tytułem strony. Strona typu [[Pszczelarstwo/Spis treści]] to dla czytelnika tylko dodatkowe klikanie. Poza tym dużo łatwiej tworzy się linki, jeśli spis treści nie jest podstroną. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 19:44, 17 lut 2008 (CET)
Witaj! Widzę że postanowaiłaś napisać coś o pszczelarstwie. To super, tego nam brakowało. Jednak jeli mogę zwrócić uwagę, co do słów poruszonych przez Derbetha - panuje u nas pewna konwencja tworzenia podręcznika. Według niej strona "Nazwa podręcznika" jest zarazem spisem treści. Ułatwia to zarówno nawigację czytelnikom, jak późniejsze prace z rozwojem książki i tworzeniem wersji do druku. Czyli nie tworzymy już strony "Nazwa podręcznika/Spis treści". Okładki natomiast tworzymy w osobnej stronie "Nazwa podręcznika/Okładka". Wiemy, że odbiega to od tradycyjnej konwencji podręcznika papierowego, jednak forma taka mile widziana jest zarówno przez samych twórców jak i czytelników, a nasze szablony są do niej przystosowane. Derbethowi chodziło aby spis treści przenieść na [http://pl.wikibooks.org/w/index.php?title=Pszczelarstwo&redirect=no tą stronę] - bez integracji z okładką. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:04, 17 lut 2008 (CET)
: Okładka może być, tylko, że powinna być na stronie o nazwie "okładka" ;-). W skrócie - powinno to wyglądać tak, jak w podręczniku [[Szachy|Szachy/Okładka]]. Jeśli chcesz, możesz wrócić do układu okładka + spis treści. Ogólnie, jeśli masz jakieś wątpliwości, zerknij, jak to jest zrobione w jednym z podręczników wyróżnionych na stronie głównej, lub spytaj się kogoś, kto jest aktywny akurat na Ostatnich zmianach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 20:18, 17 lut 2008 (CET)
== Puste strony ==
Witaj. Jeśli tworzymy jakieś strony, które potem okazują się zbędne - nie kasujemy ich zawartości, lecz zalecamy administratorom serwisu ich całkowite skasowanie - przez wstawienie na niepotrzebnej stronie szablonu (linijki kodu: {{s|ek|powód}}) - bowiem "pusta strona" nadal pozostaje indeksowana w systemowej bazie danych, a wyszukiwarki zewnętrzne typu google mogą dawać potem fauszywe wyniki dla podobnych zapytań. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 14:06, 18 lut 2008 (CET)
== Re: Rozdział czy nowy podręcznik ==
Witaj. Jeśli chodzi o tworzenie podręczników, mogę doradzić, że najlepiej jest skupić się na precyzyjnym rozpoczęciu prac nad [[Pszczelarstwo|Pszczelarstwem]] - masz już szkieletowy zarys podręcznika i przydałoby się tchnąć w niego życie w postaci jakiegoś wstępu - innego niż link do Wikipedii, i może rozpoczęcia wpisywania treści rozdziałów. Bowiem skupiając się tylko na rozwijaniu samego szkieletu, bez ogólnej koncepcji treści jaką miałby zawierać podręcznik zamknąć się można w tym, że nagle powstaną rozdziały chemia itp. - i z pszczelarstwa dojdziemy do fizyki kwantowej - a chyba nie o to chodziło. Apiterapia jest faktycznie rozległą dziedziną. Mile widziany byłby osobny podręcznik na ten temat. Nie oznacza to jednak, że nie można by poświęcić kilku słów o apiterapii w samym podręczniku o pszczelarstwie. Pamiętaj, że w odróżnieniu od Wikipedii, nie piszemy osobnych artykułów, a książka i jej rozdziały powinny mieć związaną i logicznie spójną koncepcję. Myślę, że można opisać ten rozdział na tyle krótko aby nie przesadzać z treścią i za razem na tyle wyczerpująco, aby był on znakomitym wprowadzeniem do pojęcia tego czym jest apiterapia w ogóle, czym się cechuje i czego można się spodziewać oraz jakich grup produktów się przy niej stosuje. Natomiast później skupić się na tworzeniu nowego podręcznika [[Apiterapia]]. Tak byłoby moim zdaniem najrozsądniej. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:07, 21 lut 2008 (CET)
P.S. Odpisałem również na pytanie z działu [[Wikibooks:Poproś o pomoc e-bibliotekarza]]. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:37, 21 lut 2008 (CET)
==Nawigacja, spisy etc.==
Witaj. Taka mała praktyczna porada. Każda strona/moduł może być użyta w innych stronach na zasadzie szablonu. Stąd też szablony nawigacyjne w rozdziałach, opcje spisu treści (np. <nowiki>__NOTOC__</nowiki>) warto zamieszczać pomiędzy znacznikami tagów <nowiki><noinclude></noinclude></nowiki>. Pomaga to przy późniejszym tworzeniu stron przeglądowych/broszurowych danych rozdziałów, wersji do druku itp. bowiem te dane nie będą dołączane na stronach zbiorczych. Zamieszczenie na jakiejś stronie szablonu z linijką <nowiki>__NOTOC__</nowiki> powoduje niewyświetlanie się spisu treści zarówno w szablonie jak i na stronie na której jest zawarty. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:03, 13 mar 2008 (CET)
== Import ==
Witaj. Widzę że chwilowo masz przerwę. Mam nadzieję, że niedługo wrócisz do pracy nad podręcznikiem bo zanosi się na ciekawą pozycję. W tym czasie głosiłem kilka stron z podręcznika [[Pszczelarstwo]] do [[Wikibooks:Import stron]], by uzupełnić kilka stron. Mam nadzieję, że Ci to nie popsuje szyków i zamysłu podręcznika. Strony co prawda po imporcie i tak będą wymagały jeszcze Twojego wkładu. W razie pytań lub objekcji - proszę daj znać. Pozrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 10:23, 17 maj 2008 (CEST)
[[Wikibooks:Import stron|Import]] to narzędzie do importowania stron z innych projektów Wiki. Co prawda treści zamieszczane na serwisach Wiki można dowolnie kopiować, ale trzeba wtenczas każdorazowo podawać i licencję i autorów. Import polega na skopiowaniu całego artykułu z jednego wikiprojektu na drugi, razem z historią edycji (to jest również listą autorów). W Twojej książce jest pełno rozdziałów które nie mają nic więcej oprócz linku do Wikipedii. Takie strony można zaimportować na Wikibooks - aby książka nabrała formy i treści, a następnie przerabiać tekst otrzymany w ten sposób, bez kłopotania się o licencje i wytykanie bezmyślnego kopiowania cudzego wkładu. Powodzenia w hodowli. ;o) [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:31, 28 maj 2008 (CEST)
: Cześć. Przepraszam, że tak strasznie długo to trwało, ale zaimportowałem strony, o które prosiłaś. Jeśli będziesz chcieć czegoś jeszcze - napisz. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:35, 27 lip 2008 (CEST)
:Od siebie dodam (jako pośrednika) że teraz przydałoby się przeedytować te strony - tak aby lepiej pasowały do podręcznika (i pokasować zbędne linki). [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:17, 28 lip 2008 (CEST)
== Pszczelarstwo/Pomoc ==
Widzę że ponownie bieresz się do pracy. :) Taka mała uwaga. Punktowania i akapity można ze sobą mieszać, aby uzyskiwać relatywnie ładne wzięcia,np. tak:
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
**: de: Polyethismus
**: en: Polyethism
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
*: de: Polyethismus
*: en: Polyethism
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
: de: Polyethismus
: en: Polyethism
Choć faktycznie, na starszych przeglądarkach lub jakichś Linuxowych kombajnach mogą pojawiać się jeszcze kropki. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 13:04, 10 cze 2008 (CEST)
== 3k, urodziny, ściganie Japonii ==
Witaj pracusiu. Zbliżają się święta. Polskie Wikibooks obchodzi urodziny '''10 lipca''', do tego zbliżamy się do 3 tyś. modułów - to wspaniała szansa na podwójne święto. Ba - w rankingu Wikibooks, Polska jest zaraz za Japonią - różnica ok. 80 rozdziałów książek. Wysuwam więc pomysł z inicjatywą, [http://pl.wikibooks.org/w/index.php?title=Wikibooks%3ABar&diff=76448&oldid=76445 jak ta], żeby chwilowo zamrozić licznik. Dzięki temu będziemy mogli za około 2 tygodnie przygotowywać się do potrójnego święta. Na czym polega pomysł i inicjatywa? Licznik zlicza nowe moduły tworzone w głównej przestrzeni nazw - pomysł polega na tym, żeby wszystkie nowe strony (czerwone linki) Wikipedyści tworzyli przez najbliższe kilka tygodni w brudnopisach - na swoich stronach podręcznych "Wikipedysta:Nazwa/strona podręczna". Następnie za 2 tygodnie przenieśli je "przycisk przenieś" do przestrzeni głównej. Dzięki temu efektowi kumulacji, nie dość że zgromadzimy strony potrzebne do "doskoku i prześcignięcia" Japonii, ale i będziemy mieli potrójne święto Wikibooks. Dodatkowo, jest pomysł utworzenia/przetłumaczenia książki urodzinowej, którą moglibyśmy dodatkowo z tej okazji wykonać. Co myślisz o tej inicjatywie - zapraszam do [[WB:BAR|baru]] do podzielenia się swoją opinią. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:56, 11 cze 2008 (CEST)
Można ogłosić częściowy sukces - udało nam się dotrwać do lipca. Jeśli posiadasz jakieś strony w brudnopisie - gorąco zachęcam do uwolnienia ich do przestrzeni głównej (używając przycisku "przenieś" na górze lub dole strony - w zależności od skórki jaką wybrano w profilu). Zachęcam do udziału w projekcie i wzmożenia pracy w najbliższych dniach - może uda nam się osiągnąć pułap dodatkowych 100 artykułów i prześcignąć Japonię. ;o) Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:09, 4 lip 2008 (CEST)
== Pszczelarstwo - omijaki ==
Witaj. Znalazłem kilka zgubionych stron które widocznie "wypadły z rękopisu" (nie prowadzą do nich żadne linki ani ze spisu treści ani innych stron pszczelarstwa):
[[Pszczelarstwo/Biologia_czerwiu]]
[[Pszczelarstwo/Zimowla]]
[[Pszczelarstwo/Pomoc/Bibliografia/PL_SODR_Częstochowa_2006]]
Jeśli są zbędne wstaw proszę w nich linijkę {{s|ek}} - oznaczając je do usunięcia. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:59, 29 lip 2008 (CEST)
Nie ma sprawy. W razie kłopotów możesz liczyć na moją pomoc. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 13:48, 30 lip 2008 (CEST)
==[[Wikibooks:Import stron]]==
Niestety import jest narzędziem dość specyficznym i mogą go obsługiwać jedynie administratorzy/operatorzy systemu. Dlatego prośby należy kierować bezpośrednio na stronie: [[Wikibooks:Import stron]] - tam napisz co chcesz przenieść i dokąd. Administratorzy nie będą raczej robili problemów, choć może to zająć chwilkę. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:58, 6 sie 2008 (CEST)
:Hej. Zaimportowałem stronę o którą prosiłaś na adres: [[Pszczelarstwo/Szkodniki/Aethina]]. Możesz się nią spokojnie zająć. ;o) Teraz zgłoszenia będą szybciej obsługiwane. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 19:53, 24 lut 2009 (CET)
:Strony zaimportowane. Przy okazji pokasowałem troszkę zbędnych linków, ale nadal moduły wymagają dopracowania i reedycji - ale zawsze łatwiej na gotowym tekście ;). Pozdrawiam i życzę owocnej pracy :) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:57, 29 kwi 2009 (CEST)
:: Przepraszam za zwłokę. Strony już zaimportowane - musisz jeszcze tylko pokasować zbędne linki, szablony i kategorie. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 00:36, 16 maj 2009 (CEST)
== Urodziny Wikibooks ==
Cześć. 24 stycznia polskim Wikibooksom stuknie 5 latek. Trochę byłoby szkoda, gdyby to przeszło bez echa - [http://stats.wikimedia.org/wikibooks/PL/ChartsWikipediaPL.htm podczas wakacyjnej akcji] przybyło w końcu nieco modułów :). W [[Wikibooks:Bar#Urodziny Wikibooks|kawiarence]] dałem kilka propozycji, co można by na takie urodziny zrobić. Na jesień udało mi się przez wykop rozpropagować jakoś podręcznik fotografii (i też na statsach fajnie widać październik ;) Jeśli masz inne propozycje, też je dorzuć. Wiem, że na booksach jest tak, że każdy swoją działkę pieli, ale jeśli sami się nie rozpropagujemy, to niewiele osób będzie tu trafiało. Pozdrawiam i niech nas przybywa :) [[Wikipedysta:Przykuta|Przykuta]] 14:18, 18 sty 2009 (CET)
== EK ==
Witaj,
jeśli chcesz usunąć stronę pisanego przez siebie podręcznika, to dodaj do szablonu ek informację o powodzie usunięcia tejże strony. Dzięki temu administrator kasując stronę nie będzie musiał w historii doszukiwać się kto i dlaczego usuwa dany moduł ;-). Pozdrawiam i z góry dziękuję. --[[Wikipedysta:Kj|Kj]] 16:52, 1 cze 2009 (CEST)
== Przypisy ==
Witam. Lepiej? P.S. W artykule [[w:Wikipedia:przypisy]] znajdziesz opis jak tworzyc automatyczne listy przypisów. Jest to troszkę łatwiejsze i ogólnie bardziej zalecane. Pozdrawiam -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:30, 1 lip 2009 (CEST)
== fotki ==
Może się przydadzą: [[:Plik:Podkurzacz Wigry 18.07.2009 p.jpg]] i [[:Plik:Wosk pszczeli - świece 18.07.2009 p.jpg]]. Pozdrawiam [[Wikipedysta:Przykuta|Przykuta]] 16:53, 7 wrz 2009 (CEST)
== Bar ==
Witaj! zacząłem w Barze dyskusję w nowej sekcji, odnośnie usuwania stron. Zaproponowałem ustalenie formalnych zasad usuwania podręczników i modułów. Ciekawi mnie Twoje zdanie i chciałbym, żebyś napisała kilka słów od siebie. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 23:38, 22 lis 2009 (CET)
== SdU ==
hej! brakuje nam głosów w dyskusji na [[Wikibooks:Strony do usunięcia|SdU]] nad usunięciem kilku wadliwych stron, dotyczących Genealogii Piastów. Byłbym wdzięczny, gdybyś wyraziła swoje zdanie. Pozdr. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:32, 14 kwi 2010 (CEST)
== [[Pszczelarstwo/Choroby/DWV]] ==
Sprawdź proszę tą stronę, bo nie wiem, czy mam tam wstawić "ek" i powiadomić autora, czy tak ma być, jak jest. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 14:52, 10 cze 2010 (CEST)
* napisałem do autora modułu, brak odzewu, więc wstawiłem "ek". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:01, 12 cze 2010 (CEST)
== [[Fizyka teoretyczna]] ==
Czy chciałabyś się przyłączyć się do projektu: [[Fizyka teoretyczna]], poprawiając tylko błędy językowe? Jeśli zostanie już coś poprawione, to dobrze by było zaznaczyć to w pliku: [[Fizyka teoretyczna/Koordynacja|Koordynacja]]. [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja Wikipedysty:Persino|dyskusja]]) 19:37, 17 lip 2010 (CEST)
== Pszczelarstwo - omijak ==
Witaj!
Znalazłem zagubioną stronę [[Pszczelarstwo/Hodowla/Linie]] która nie jest nigdzie indziej w podręczniku wspominana (brak odnośników). Mamy ją usunąć - czy znajdzie się dla niej jakieś miejsce? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:42, 3 paź 2010 (CEST)
Ok. Strona usunięta. Miło jest mieć na Wikibooks tak fajny podręcznik. Może pasieki nie założę, ale przynajmniej coś niecoś człowiek może się dowiedzieć na ten temat. :) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:38, 10 paź 2010 (CEST)
== Przypisy w książce [[Pszczelarstwo]] ==
Poprawisz przypisy na podstronach [[:Kategoria:Strony z zepsutymi przypisami|Pszczelarstwo/Rośliny]]? Są puste i nie wiem co tam powinno w nich być. Może pamiętasz? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 17:53, 24 mar 2017 (CET)
== Odp. {{lżu|Persino#Potrzebuję pomocy :)|d=tak}} ==
Wystarczy poprawić szablon {{s|{{N|Przepisy}}|subnazwa=tak}} przy linkach. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:01, 31 sie 2020 (CEST)
== {{lg|Onomastyka}} ==
Dodałem do każdego artykułu tej książki kategorię: {{lk|Książka:Onomastyka}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:07, 5 sty 2021 (CET)
* Jeśli chcesz linkować do strony głównej swojej książki, użyj: {{s|sr}}, a to da w efekcie: {{sr|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:13, 6 sty 2021 (CET)
== Tabulator ==
Przeczytaj stronę {{lz|s=https://brainly.pl/zadanie/7011191|n=tutaj}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:40, 29 sty 2023 (CET)
== Szablon tabeli w szablonie quizu ==
Już przykład naprawiony. Użyj szablonów {{s|Tabelka}}, {{s|Wiersz}} i {{s|Komórka}}, albo {{s|Tabela}}, a także szablon {{s|Div}} i jego kolegów do formatowania! Dokumentacja na ich stronach opisu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:24, 29 sty 2023 (CET)
== Filtr nadużyć ==
; Różne filtry;
* {{Ping|EdytaT}} Już naprawiłem problem w filtrze nadużyć, dotyczącą list! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:48, 12 mar 2025 (CET)
* {{Ping|EdytaT}} Użyj szablonu {{s|Center}} zamiast znacznika {{Tag|center}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:23, 26 maj 2025 (CEST)
* {{Ping|EdytaT}} Już usunąłem problem z filtrami nadużyć, ale zamiast znacznika {{Tag|center}} używaj {{s|Center}}. A zamiast tworzyć tabelki, to nie prościej jest stworzyć szablon, który umiejscowisz w {{s|Center}}? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:22, 28 cze 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst", i jego podobnymi. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:44, 3 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Opis strony, w części nierozdziałowej, z tylko wielkimi literami". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:21, 4 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Wikitekst strony z wulgaryzmami w języku polskim". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:10, 5 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:34, 5 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:16, 7 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem błąd prograministyczny w filtrze: "Wielokrotne nowe linie znacznikowo-znakowe". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:34, 10 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem błąd w filtrze: "Powtarzające się ciągi znaków w linii wikitekstu". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:43, 18 lip 2025 (CEST)
* {{Ping|EdytaT}} Błędy z filtrami wczorejszymi usunąłem. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 08:26, 31 sie 2025 (CEST)
; Filtr nadużyć{{Dk}} "Styl do sprawdzenia";
* {{Ping|EdytaT}} Według filtra nadużyć: "Styl do sprawdzenia", popełniłaś błąd, użyłaś wyrażenia: "warto dodać" (zły styl), który należałoby naprawić!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:58, 7 lip 2025 (CEST)
* {{Ping|EdytaT}} Następne ostrzeżenie od filtra nadużyć: "waże jest", na stronie: "Napary_ziołowe/Czystek". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:38, 7 lip 2025 (CEST)
** {{Ping|EdytaT}} Teraz ten filtr nie będzie uniemożliwiał edycji, tylko będzie wysyłał znacznik. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:13, 7 lip 2025 (CEST)
; Związane z filtrami
* {{Ping|EdytaT}} Spróbuj swoje wiki-tabelki przepisać na szablony, propozycja to jest: {{s|Tabelka}}, {{s|Tytuł}}, {{s|Wiersz}} i {{s|Komórka}}, lub użyć o wiele prościej szablonu: {{s|Tabela}} - przykłady na jego stronie opisu szablonu: {{s|Tabela/opis}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:43, 18 lip 2025 (CEST)
** {{Ping|EdytaT}} Jak chcesz mogę pomóc. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:47, 18 lip 2025 (CEST)
* {{Ping|EdytaT}} Już możesz wpisywać teksty, które nie przeszły w wyniku działania filtrów nadużyć, teraz powinny przejść, te wszystkie błędy usunąłem w miarę potrzeby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:35, 24 lip 2025 (CEST)
* <del>{{Ping|EdytaT}} Nie rób w jednej linii, tak wielu znaczników {{Tag|br|pojedynczy}}. Wystarczy przejście do nowej linii, nawet w szablonach, jeśli to możliwe. Użycie wielu znaczników tych w jednej linii może spowodować zgłoszenie filtrów nadużyć. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:23, 24 sie 2025 (CEST)</del>
* {{Ping|EdytaT}} Już usunąłem wszystkie błędy z filtrów nadużyć, które powodowały ostatnio twoje edycje. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:06, 24 sie 2025 (CEST)
== Prośba ==
W wolnej chwili uprzejmie proszę o rzucenie okiem na skrzynkę mailową, ponieważ wysłałem do Pani maila. Nie jest to nic pilnego. Jeżeli byłaby taka możliwość to bardzo proszę o odpowiedź również mailową.
Dobrego wieczoru, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:16, 15 paź 2025 (CEST)
== Zamienianie linków wewnętrznych na zewnętrzne robiące to samo ==
Dlaczego zamieniasz nazwy linków wewnętrznych na zewnętrzne linkujące do tej samej strony! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:12, 17 paź 2025 (CEST)
:Hej, problem polega na tym, że ten link wewnętrzny nie działa. Zobacz tu: Karbieniec pospolity (jeszcze nie zmienilam na zewnetrzny). Robie to rowniez z zamiarem, ze jak ta linia kodu bedzie wszedzie ujednolicona, to bedzie to mozna za jednym zamachem wszedzie zmienic na poprawiony link wewnetrzny albo nawet szablon. Zglosilabym sie z taka prosba do ciebie, jak juz bylabym gotowa. Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 11:18, 17 paź 2025 (CEST)
:Wystarczy napisać: {{L|w:Wikipedia:Zastrzeżenia_dotyczące_pojęć_medycznych|Zastrzeżenia dotyczące pojęć medycznych}} lub kod: {{s|lpr|Zastrzeżenia dotyczące pojęć medycznych}}, wynik: {{lpr|Zastrzeżenia dotyczące pojęć medycznych}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]])
== Odp. ==
Dzień dobry. Oczywiście mogę się tego trzymać i tworzyć tylko autorskie przepisy. Jednak pragnę zauważyć różnicę między moim wkładem a wkładem użytkownika Świętokrzyskie3 - on przepisywał słowo w słowo przepis i wklejał go na Wikibooks (co oczywiście jest nielegalne, ponieważ jest naruszeniem praw autorskich, co jest przestępstwem). Ja natomiast dokładnie analizuje przepis i własnymi słowami piszę co należy zrobić i tworzę listę składników. Zwłaszcza, że książka skąd pochodzą przepisy na rozmaite sałatki jest dość stara i mało dostępna, więc chciałem jej wartościowe przepisy przenieść do świata wirtualnego. Ale rozumiem, zaprzestanę. Myślałem, że nie jest to niezalecane, bo na podobnym wariancie tworzył kiedyś przepisy Cyborian ([[Specjalna:Wkład/Cyborian]]).
Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:07, 22 paź 2025 (CEST)
== Odp. ==
Dziękuje bardzo za informację, nie wiedziałem, że toczy się dyskusja. Zabrałem głos. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:17, 27 paź 2025 (CET)
== Naruszenia praw autorskich na Wikibooks ==
Witaj. Piszę informacyjnie - dzisiaj otrzymałem przyznane mi przez Was (dziękuję!) uprawnienia administratora. Dokończyłem sprzątanie naruszających prawa autorskie przepisów użytkownika [[Specjalna:Wkład/Snd125671|Snd125671]](bo nie wszystkie były naruszeniem), więc wydaje się, że raz na zawsze udało nam się uporać z tymi naruszeniami w książce kucharskiej. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:37, 28 paź 2025 (CET)
:@[[Wikipedysta:Igor123121|Igor123121]] Dziekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:52, 28 paź 2025 (CET)
::Hej. Bardzo dziękuję za informację o dwukropkach. Poprawione :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:03, 7 lis 2025 (CET)
{{DNU/info|Wstępna charakterystyka bakteriofaga Serratia φOS10|2025:11:12|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:33, 12 lis 2025 (CET)
== Odp. ==
Cześć. Jutro mogę przenieść kategorię i elementy, mam nadzieje, że to nie problem. Pozdrawiam serdecznie! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:52, 12 lis 2025 (CET)
{{DNU/info|Książka kucharska/Alfabetyczny spis potraw|2025:11:12|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:27, 12 lis 2025 (CET)
{{DNU/info|Mykowirusy – wirusy infekujące grzyby|2025:11:13|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:27, 12 lis 2025 (CET)
== Kategoria:Gimnazjum ==
Cześć! Dzisiaj dokończyłem przenoszenie tej kategorii na "Kategoria:Klasy 7-8 szkoły podstawowej" Przepraszam, że po 4 dniach, ale zupełnie wypadło mi z głowy. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:51, 17 lis 2025 (CET)
== Odp.: [[User talk:Persino#Szablony dla przypisow|Szablony dla przypisów]] ==
Oto są szablony, o które prosiłaś: {{s|Brudnopis/Persino/Pszcz Pasieka24}} i {{s|Brudnopis/Persino/Ziel Panacea}}.
Przykłady:
: Pierwszy: {{s|Brudnopis/Persino/Pszcz Pasieka24|260-pasieka-5-2024|260-pasieka-5-2024}} → {{Brudnopis/Persino/Pszcz Pasieka24|260-pasieka-5-2024|260-pasieka-5-2024}},
: Drugi: {{s|Brudnopis/Persino/Ziel Panacea|tymianek-2/|tymianek-2}} → {{Brudnopis/Persino/Ziel Panacea|tymianek-2/|tymianek-2}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:22, 7 gru 2025 (CET)
To masz na dwa sposoby...
Przykłady:
: Pierwszy: {{s|Brudnopis/Persino/Pszcz Pasieka24|podstrona{{=}}260-pasieka-5-2024|nazwa{{=}}260-pasieka-5-2024}} → {{Brudnopis/Persino/Pszcz Pasieka24|podstrona=260-pasieka-5-2024|nazwa=260-pasieka-5-2024}},
: Drugi: {{s|Brudnopis/Persino/Ziel Panacea|podstrona{{=}}tymianek-2/|nazwa{{=}}tymianek-2}} → {{Brudnopis/Persino/Ziel Panacea|podstrona=tymianek-2/|nazwa=tymianek-2}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:46, 7 gru 2025 (CET)
Jedynie je pozostało przenieść do przestrzeni podstawowej niebrudnopisowej: {{Np|Template|link=tak}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:52, 7 gru 2025 (CET)
Na tych stronach, co dodałaś te szablony, zamień według:
: {{s|Brudnopis/Persino/Pszcz Pasieka24}} → {{s|Pszcz Pasieka24}},
: {{s|Brudnopis/Persino/Ziel Panacea}} → {{s|Ziel Panacea}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:41, 7 gru 2025 (CET)
Dla szablonu: {{s|Pszcz FeA}}
: {{s|Pszcz FeA|fiori_e_api.pdf|<nowiki>''Fiori e Api''</nowiki>|autor{{=}}Ricciardelli, G., Intoppa|czasopismo{{=}}Bolonia 2000}} → {{Pszcz FeA|fiori_e_api.pdf|''Fiori e Api''|autor=Ricciardelli, G., Intoppa|czasopismo=Bolonia 2000}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:06, 9 gru 2025 (CET)
; Odp. [[User talk:Persino#Szablony linkow do czasopism jako zrodel - male nieporozumienie|Szablony linków do czasopism jako źródeł - małe nieporozumienie]]
Tak, oddaje ten twój sens. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:18, 11 gru 2025 (CET)
; Odp. '''Pytanie do: "Jak tworzyć szablony szczególne szablonu <nowiki>{{PrzypisStrona}}</nowiki>, w oparciu o ten szablon"'''
Dalsze stałe umieszczamy tam gdzie pole adresu, np.
: {{s|NoweWywołanieModułu|adres{{=}}...|czasopismo{{=}}..|itd.{{=}}...|inne parametry{{=}}...}},
oto przykład:
{{Pre|{{m|Ramka|Szablon|Nazwa{{=}}PrzypisStrona|adres{{=}}https://panacea.pl|czasopismo{{=}}...|issn{{=}}...|wydawca{{=}}...|itd.{{=}}...|bez argumentów szablonu{{=}}url;tytuł;praca|zmienna z parametrami rodzica{{=}}tak|zmienna z argumentami ramki{{=}}tak}}}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:13, 14 gru 2025 (CET)
: Nie ma zmiennej {{Code|autorzy}}, tylko jest {{Code|autor}}, w którym możesz pisać jednego lub więcej autorów, tak jak w szablonie {{s|Cytuj}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:32, 14 gru 2025 (CET)
== Znaczniki: {{Tag|font}}, {{Tag|tt}}, {{Tag|center}} ==
Zamiast znacznika: {{Tag|font}}, stosuj szablon: {{s|font}}, {{Tag|tt}} - {{s|tt}} i {{Tag|center}} - {{s|center}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:23, 14 lut 2026 (CET)
== [[:Kategoria:Szablon uprawa - roślina infobox (artykuły) do sprawdzenia]] ==
* {{Ping|EdytaT}} Czy mogłabyś dodać obrazki do infoboksu {{s|Uprawa - roślina infobox}} dla stron znajdujących się w kategorii podanej w nagłówku w ramach porządków na Wikibooks. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:38, 18 kwi 2026 (CEST)
siessqzuh33rom5cz26txozojbgf8zl
540089
540075
2026-04-19T07:57:30Z
EdytaT
2664
/* Kategoria:Szablon uprawa - roślina infobox (artykuły) do sprawdzenia */ Odpowiedź
540089
wikitext
text/x-wiki
{{Witaj}} --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 17:43, 17 lut 2008 (CET)
== Spis treści ==
Jeśli mógłbym się wtrącić - spis treści książki najlepiej zrobić na takiej samej stronie, jak tytuł podręcznika. W ten sposób czytelnik chcący wrócić do spisu treści będzie mógł skorzystać z linku pod tytułem strony. Strona typu [[Pszczelarstwo/Spis treści]] to dla czytelnika tylko dodatkowe klikanie. Poza tym dużo łatwiej tworzy się linki, jeśli spis treści nie jest podstroną. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 19:44, 17 lut 2008 (CET)
Witaj! Widzę że postanowaiłaś napisać coś o pszczelarstwie. To super, tego nam brakowało. Jednak jeli mogę zwrócić uwagę, co do słów poruszonych przez Derbetha - panuje u nas pewna konwencja tworzenia podręcznika. Według niej strona "Nazwa podręcznika" jest zarazem spisem treści. Ułatwia to zarówno nawigację czytelnikom, jak późniejsze prace z rozwojem książki i tworzeniem wersji do druku. Czyli nie tworzymy już strony "Nazwa podręcznika/Spis treści". Okładki natomiast tworzymy w osobnej stronie "Nazwa podręcznika/Okładka". Wiemy, że odbiega to od tradycyjnej konwencji podręcznika papierowego, jednak forma taka mile widziana jest zarówno przez samych twórców jak i czytelników, a nasze szablony są do niej przystosowane. Derbethowi chodziło aby spis treści przenieść na [http://pl.wikibooks.org/w/index.php?title=Pszczelarstwo&redirect=no tą stronę] - bez integracji z okładką. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:04, 17 lut 2008 (CET)
: Okładka może być, tylko, że powinna być na stronie o nazwie "okładka" ;-). W skrócie - powinno to wyglądać tak, jak w podręczniku [[Szachy|Szachy/Okładka]]. Jeśli chcesz, możesz wrócić do układu okładka + spis treści. Ogólnie, jeśli masz jakieś wątpliwości, zerknij, jak to jest zrobione w jednym z podręczników wyróżnionych na stronie głównej, lub spytaj się kogoś, kto jest aktywny akurat na Ostatnich zmianach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 20:18, 17 lut 2008 (CET)
== Puste strony ==
Witaj. Jeśli tworzymy jakieś strony, które potem okazują się zbędne - nie kasujemy ich zawartości, lecz zalecamy administratorom serwisu ich całkowite skasowanie - przez wstawienie na niepotrzebnej stronie szablonu (linijki kodu: {{s|ek|powód}}) - bowiem "pusta strona" nadal pozostaje indeksowana w systemowej bazie danych, a wyszukiwarki zewnętrzne typu google mogą dawać potem fauszywe wyniki dla podobnych zapytań. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 14:06, 18 lut 2008 (CET)
== Re: Rozdział czy nowy podręcznik ==
Witaj. Jeśli chodzi o tworzenie podręczników, mogę doradzić, że najlepiej jest skupić się na precyzyjnym rozpoczęciu prac nad [[Pszczelarstwo|Pszczelarstwem]] - masz już szkieletowy zarys podręcznika i przydałoby się tchnąć w niego życie w postaci jakiegoś wstępu - innego niż link do Wikipedii, i może rozpoczęcia wpisywania treści rozdziałów. Bowiem skupiając się tylko na rozwijaniu samego szkieletu, bez ogólnej koncepcji treści jaką miałby zawierać podręcznik zamknąć się można w tym, że nagle powstaną rozdziały chemia itp. - i z pszczelarstwa dojdziemy do fizyki kwantowej - a chyba nie o to chodziło. Apiterapia jest faktycznie rozległą dziedziną. Mile widziany byłby osobny podręcznik na ten temat. Nie oznacza to jednak, że nie można by poświęcić kilku słów o apiterapii w samym podręczniku o pszczelarstwie. Pamiętaj, że w odróżnieniu od Wikipedii, nie piszemy osobnych artykułów, a książka i jej rozdziały powinny mieć związaną i logicznie spójną koncepcję. Myślę, że można opisać ten rozdział na tyle krótko aby nie przesadzać z treścią i za razem na tyle wyczerpująco, aby był on znakomitym wprowadzeniem do pojęcia tego czym jest apiterapia w ogóle, czym się cechuje i czego można się spodziewać oraz jakich grup produktów się przy niej stosuje. Natomiast później skupić się na tworzeniu nowego podręcznika [[Apiterapia]]. Tak byłoby moim zdaniem najrozsądniej. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:07, 21 lut 2008 (CET)
P.S. Odpisałem również na pytanie z działu [[Wikibooks:Poproś o pomoc e-bibliotekarza]]. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:37, 21 lut 2008 (CET)
==Nawigacja, spisy etc.==
Witaj. Taka mała praktyczna porada. Każda strona/moduł może być użyta w innych stronach na zasadzie szablonu. Stąd też szablony nawigacyjne w rozdziałach, opcje spisu treści (np. <nowiki>__NOTOC__</nowiki>) warto zamieszczać pomiędzy znacznikami tagów <nowiki><noinclude></noinclude></nowiki>. Pomaga to przy późniejszym tworzeniu stron przeglądowych/broszurowych danych rozdziałów, wersji do druku itp. bowiem te dane nie będą dołączane na stronach zbiorczych. Zamieszczenie na jakiejś stronie szablonu z linijką <nowiki>__NOTOC__</nowiki> powoduje niewyświetlanie się spisu treści zarówno w szablonie jak i na stronie na której jest zawarty. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:03, 13 mar 2008 (CET)
== Import ==
Witaj. Widzę że chwilowo masz przerwę. Mam nadzieję, że niedługo wrócisz do pracy nad podręcznikiem bo zanosi się na ciekawą pozycję. W tym czasie głosiłem kilka stron z podręcznika [[Pszczelarstwo]] do [[Wikibooks:Import stron]], by uzupełnić kilka stron. Mam nadzieję, że Ci to nie popsuje szyków i zamysłu podręcznika. Strony co prawda po imporcie i tak będą wymagały jeszcze Twojego wkładu. W razie pytań lub objekcji - proszę daj znać. Pozrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 10:23, 17 maj 2008 (CEST)
[[Wikibooks:Import stron|Import]] to narzędzie do importowania stron z innych projektów Wiki. Co prawda treści zamieszczane na serwisach Wiki można dowolnie kopiować, ale trzeba wtenczas każdorazowo podawać i licencję i autorów. Import polega na skopiowaniu całego artykułu z jednego wikiprojektu na drugi, razem z historią edycji (to jest również listą autorów). W Twojej książce jest pełno rozdziałów które nie mają nic więcej oprócz linku do Wikipedii. Takie strony można zaimportować na Wikibooks - aby książka nabrała formy i treści, a następnie przerabiać tekst otrzymany w ten sposób, bez kłopotania się o licencje i wytykanie bezmyślnego kopiowania cudzego wkładu. Powodzenia w hodowli. ;o) [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:31, 28 maj 2008 (CEST)
: Cześć. Przepraszam, że tak strasznie długo to trwało, ale zaimportowałem strony, o które prosiłaś. Jeśli będziesz chcieć czegoś jeszcze - napisz. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:35, 27 lip 2008 (CEST)
:Od siebie dodam (jako pośrednika) że teraz przydałoby się przeedytować te strony - tak aby lepiej pasowały do podręcznika (i pokasować zbędne linki). [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:17, 28 lip 2008 (CEST)
== Pszczelarstwo/Pomoc ==
Widzę że ponownie bieresz się do pracy. :) Taka mała uwaga. Punktowania i akapity można ze sobą mieszać, aby uzyskiwać relatywnie ładne wzięcia,np. tak:
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
**: de: Polyethismus
**: en: Polyethism
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
*: de: Polyethismus
*: en: Polyethism
* Polietyzm
** wiekowy - u owadów społecznych podział pracy ze względu na wiek osobnika
** kastowy - u owadów społecznych podział pracy ze względu na cechy morfologiczne osobnika
: de: Polyethismus
: en: Polyethism
Choć faktycznie, na starszych przeglądarkach lub jakichś Linuxowych kombajnach mogą pojawiać się jeszcze kropki. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 13:04, 10 cze 2008 (CEST)
== 3k, urodziny, ściganie Japonii ==
Witaj pracusiu. Zbliżają się święta. Polskie Wikibooks obchodzi urodziny '''10 lipca''', do tego zbliżamy się do 3 tyś. modułów - to wspaniała szansa na podwójne święto. Ba - w rankingu Wikibooks, Polska jest zaraz za Japonią - różnica ok. 80 rozdziałów książek. Wysuwam więc pomysł z inicjatywą, [http://pl.wikibooks.org/w/index.php?title=Wikibooks%3ABar&diff=76448&oldid=76445 jak ta], żeby chwilowo zamrozić licznik. Dzięki temu będziemy mogli za około 2 tygodnie przygotowywać się do potrójnego święta. Na czym polega pomysł i inicjatywa? Licznik zlicza nowe moduły tworzone w głównej przestrzeni nazw - pomysł polega na tym, żeby wszystkie nowe strony (czerwone linki) Wikipedyści tworzyli przez najbliższe kilka tygodni w brudnopisach - na swoich stronach podręcznych "Wikipedysta:Nazwa/strona podręczna". Następnie za 2 tygodnie przenieśli je "przycisk przenieś" do przestrzeni głównej. Dzięki temu efektowi kumulacji, nie dość że zgromadzimy strony potrzebne do "doskoku i prześcignięcia" Japonii, ale i będziemy mieli potrójne święto Wikibooks. Dodatkowo, jest pomysł utworzenia/przetłumaczenia książki urodzinowej, którą moglibyśmy dodatkowo z tej okazji wykonać. Co myślisz o tej inicjatywie - zapraszam do [[WB:BAR|baru]] do podzielenia się swoją opinią. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:56, 11 cze 2008 (CEST)
Można ogłosić częściowy sukces - udało nam się dotrwać do lipca. Jeśli posiadasz jakieś strony w brudnopisie - gorąco zachęcam do uwolnienia ich do przestrzeni głównej (używając przycisku "przenieś" na górze lub dole strony - w zależności od skórki jaką wybrano w profilu). Zachęcam do udziału w projekcie i wzmożenia pracy w najbliższych dniach - może uda nam się osiągnąć pułap dodatkowych 100 artykułów i prześcignąć Japonię. ;o) Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:09, 4 lip 2008 (CEST)
== Pszczelarstwo - omijaki ==
Witaj. Znalazłem kilka zgubionych stron które widocznie "wypadły z rękopisu" (nie prowadzą do nich żadne linki ani ze spisu treści ani innych stron pszczelarstwa):
[[Pszczelarstwo/Biologia_czerwiu]]
[[Pszczelarstwo/Zimowla]]
[[Pszczelarstwo/Pomoc/Bibliografia/PL_SODR_Częstochowa_2006]]
Jeśli są zbędne wstaw proszę w nich linijkę {{s|ek}} - oznaczając je do usunięcia. Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:59, 29 lip 2008 (CEST)
Nie ma sprawy. W razie kłopotów możesz liczyć na moją pomoc. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 13:48, 30 lip 2008 (CEST)
==[[Wikibooks:Import stron]]==
Niestety import jest narzędziem dość specyficznym i mogą go obsługiwać jedynie administratorzy/operatorzy systemu. Dlatego prośby należy kierować bezpośrednio na stronie: [[Wikibooks:Import stron]] - tam napisz co chcesz przenieść i dokąd. Administratorzy nie będą raczej robili problemów, choć może to zająć chwilkę. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:58, 6 sie 2008 (CEST)
:Hej. Zaimportowałem stronę o którą prosiłaś na adres: [[Pszczelarstwo/Szkodniki/Aethina]]. Możesz się nią spokojnie zająć. ;o) Teraz zgłoszenia będą szybciej obsługiwane. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 19:53, 24 lut 2009 (CET)
:Strony zaimportowane. Przy okazji pokasowałem troszkę zbędnych linków, ale nadal moduły wymagają dopracowania i reedycji - ale zawsze łatwiej na gotowym tekście ;). Pozdrawiam i życzę owocnej pracy :) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:57, 29 kwi 2009 (CEST)
:: Przepraszam za zwłokę. Strony już zaimportowane - musisz jeszcze tylko pokasować zbędne linki, szablony i kategorie. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 00:36, 16 maj 2009 (CEST)
== Urodziny Wikibooks ==
Cześć. 24 stycznia polskim Wikibooksom stuknie 5 latek. Trochę byłoby szkoda, gdyby to przeszło bez echa - [http://stats.wikimedia.org/wikibooks/PL/ChartsWikipediaPL.htm podczas wakacyjnej akcji] przybyło w końcu nieco modułów :). W [[Wikibooks:Bar#Urodziny Wikibooks|kawiarence]] dałem kilka propozycji, co można by na takie urodziny zrobić. Na jesień udało mi się przez wykop rozpropagować jakoś podręcznik fotografii (i też na statsach fajnie widać październik ;) Jeśli masz inne propozycje, też je dorzuć. Wiem, że na booksach jest tak, że każdy swoją działkę pieli, ale jeśli sami się nie rozpropagujemy, to niewiele osób będzie tu trafiało. Pozdrawiam i niech nas przybywa :) [[Wikipedysta:Przykuta|Przykuta]] 14:18, 18 sty 2009 (CET)
== EK ==
Witaj,
jeśli chcesz usunąć stronę pisanego przez siebie podręcznika, to dodaj do szablonu ek informację o powodzie usunięcia tejże strony. Dzięki temu administrator kasując stronę nie będzie musiał w historii doszukiwać się kto i dlaczego usuwa dany moduł ;-). Pozdrawiam i z góry dziękuję. --[[Wikipedysta:Kj|Kj]] 16:52, 1 cze 2009 (CEST)
== Przypisy ==
Witam. Lepiej? P.S. W artykule [[w:Wikipedia:przypisy]] znajdziesz opis jak tworzyc automatyczne listy przypisów. Jest to troszkę łatwiejsze i ogólnie bardziej zalecane. Pozdrawiam -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:30, 1 lip 2009 (CEST)
== fotki ==
Może się przydadzą: [[:Plik:Podkurzacz Wigry 18.07.2009 p.jpg]] i [[:Plik:Wosk pszczeli - świece 18.07.2009 p.jpg]]. Pozdrawiam [[Wikipedysta:Przykuta|Przykuta]] 16:53, 7 wrz 2009 (CEST)
== Bar ==
Witaj! zacząłem w Barze dyskusję w nowej sekcji, odnośnie usuwania stron. Zaproponowałem ustalenie formalnych zasad usuwania podręczników i modułów. Ciekawi mnie Twoje zdanie i chciałbym, żebyś napisała kilka słów od siebie. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 23:38, 22 lis 2009 (CET)
== SdU ==
hej! brakuje nam głosów w dyskusji na [[Wikibooks:Strony do usunięcia|SdU]] nad usunięciem kilku wadliwych stron, dotyczących Genealogii Piastów. Byłbym wdzięczny, gdybyś wyraziła swoje zdanie. Pozdr. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:32, 14 kwi 2010 (CEST)
== [[Pszczelarstwo/Choroby/DWV]] ==
Sprawdź proszę tą stronę, bo nie wiem, czy mam tam wstawić "ek" i powiadomić autora, czy tak ma być, jak jest. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 14:52, 10 cze 2010 (CEST)
* napisałem do autora modułu, brak odzewu, więc wstawiłem "ek". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:01, 12 cze 2010 (CEST)
== [[Fizyka teoretyczna]] ==
Czy chciałabyś się przyłączyć się do projektu: [[Fizyka teoretyczna]], poprawiając tylko błędy językowe? Jeśli zostanie już coś poprawione, to dobrze by było zaznaczyć to w pliku: [[Fizyka teoretyczna/Koordynacja|Koordynacja]]. [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja Wikipedysty:Persino|dyskusja]]) 19:37, 17 lip 2010 (CEST)
== Pszczelarstwo - omijak ==
Witaj!
Znalazłem zagubioną stronę [[Pszczelarstwo/Hodowla/Linie]] która nie jest nigdzie indziej w podręczniku wspominana (brak odnośników). Mamy ją usunąć - czy znajdzie się dla niej jakieś miejsce? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:42, 3 paź 2010 (CEST)
Ok. Strona usunięta. Miło jest mieć na Wikibooks tak fajny podręcznik. Może pasieki nie założę, ale przynajmniej coś niecoś człowiek może się dowiedzieć na ten temat. :) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:38, 10 paź 2010 (CEST)
== Przypisy w książce [[Pszczelarstwo]] ==
Poprawisz przypisy na podstronach [[:Kategoria:Strony z zepsutymi przypisami|Pszczelarstwo/Rośliny]]? Są puste i nie wiem co tam powinno w nich być. Może pamiętasz? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 17:53, 24 mar 2017 (CET)
== Odp. {{lżu|Persino#Potrzebuję pomocy :)|d=tak}} ==
Wystarczy poprawić szablon {{s|{{N|Przepisy}}|subnazwa=tak}} przy linkach. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:01, 31 sie 2020 (CEST)
== {{lg|Onomastyka}} ==
Dodałem do każdego artykułu tej książki kategorię: {{lk|Książka:Onomastyka}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:07, 5 sty 2021 (CET)
* Jeśli chcesz linkować do strony głównej swojej książki, użyj: {{s|sr}}, a to da w efekcie: {{sr|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:13, 6 sty 2021 (CET)
== Tabulator ==
Przeczytaj stronę {{lz|s=https://brainly.pl/zadanie/7011191|n=tutaj}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:40, 29 sty 2023 (CET)
== Szablon tabeli w szablonie quizu ==
Już przykład naprawiony. Użyj szablonów {{s|Tabelka}}, {{s|Wiersz}} i {{s|Komórka}}, albo {{s|Tabela}}, a także szablon {{s|Div}} i jego kolegów do formatowania! Dokumentacja na ich stronach opisu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:24, 29 sty 2023 (CET)
== Filtr nadużyć ==
; Różne filtry;
* {{Ping|EdytaT}} Już naprawiłem problem w filtrze nadużyć, dotyczącą list! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:48, 12 mar 2025 (CET)
* {{Ping|EdytaT}} Użyj szablonu {{s|Center}} zamiast znacznika {{Tag|center}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:23, 26 maj 2025 (CEST)
* {{Ping|EdytaT}} Już usunąłem problem z filtrami nadużyć, ale zamiast znacznika {{Tag|center}} używaj {{s|Center}}. A zamiast tworzyć tabelki, to nie prościej jest stworzyć szablon, który umiejscowisz w {{s|Center}}? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:22, 28 cze 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst", i jego podobnymi. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:44, 3 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Opis strony, w części nierozdziałowej, z tylko wielkimi literami". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:21, 4 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Wikitekst strony z wulgaryzmami w języku polskim". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:10, 5 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:34, 5 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem problem z filtra nadużyć: "Nieprawidłowy wprowadzony tekst". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:16, 7 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem błąd prograministyczny w filtrze: "Wielokrotne nowe linie znacznikowo-znakowe". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:34, 10 lip 2025 (CEST)
* {{Ping|EdytaT}} Usunąłem błąd w filtrze: "Powtarzające się ciągi znaków w linii wikitekstu". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:43, 18 lip 2025 (CEST)
* {{Ping|EdytaT}} Błędy z filtrami wczorejszymi usunąłem. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 08:26, 31 sie 2025 (CEST)
; Filtr nadużyć{{Dk}} "Styl do sprawdzenia";
* {{Ping|EdytaT}} Według filtra nadużyć: "Styl do sprawdzenia", popełniłaś błąd, użyłaś wyrażenia: "warto dodać" (zły styl), który należałoby naprawić!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:58, 7 lip 2025 (CEST)
* {{Ping|EdytaT}} Następne ostrzeżenie od filtra nadużyć: "waże jest", na stronie: "Napary_ziołowe/Czystek". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:38, 7 lip 2025 (CEST)
** {{Ping|EdytaT}} Teraz ten filtr nie będzie uniemożliwiał edycji, tylko będzie wysyłał znacznik. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:13, 7 lip 2025 (CEST)
; Związane z filtrami
* {{Ping|EdytaT}} Spróbuj swoje wiki-tabelki przepisać na szablony, propozycja to jest: {{s|Tabelka}}, {{s|Tytuł}}, {{s|Wiersz}} i {{s|Komórka}}, lub użyć o wiele prościej szablonu: {{s|Tabela}} - przykłady na jego stronie opisu szablonu: {{s|Tabela/opis}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:43, 18 lip 2025 (CEST)
** {{Ping|EdytaT}} Jak chcesz mogę pomóc. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:47, 18 lip 2025 (CEST)
* {{Ping|EdytaT}} Już możesz wpisywać teksty, które nie przeszły w wyniku działania filtrów nadużyć, teraz powinny przejść, te wszystkie błędy usunąłem w miarę potrzeby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:35, 24 lip 2025 (CEST)
* <del>{{Ping|EdytaT}} Nie rób w jednej linii, tak wielu znaczników {{Tag|br|pojedynczy}}. Wystarczy przejście do nowej linii, nawet w szablonach, jeśli to możliwe. Użycie wielu znaczników tych w jednej linii może spowodować zgłoszenie filtrów nadużyć. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:23, 24 sie 2025 (CEST)</del>
* {{Ping|EdytaT}} Już usunąłem wszystkie błędy z filtrów nadużyć, które powodowały ostatnio twoje edycje. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:06, 24 sie 2025 (CEST)
== Prośba ==
W wolnej chwili uprzejmie proszę o rzucenie okiem na skrzynkę mailową, ponieważ wysłałem do Pani maila. Nie jest to nic pilnego. Jeżeli byłaby taka możliwość to bardzo proszę o odpowiedź również mailową.
Dobrego wieczoru, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:16, 15 paź 2025 (CEST)
== Zamienianie linków wewnętrznych na zewnętrzne robiące to samo ==
Dlaczego zamieniasz nazwy linków wewnętrznych na zewnętrzne linkujące do tej samej strony! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:12, 17 paź 2025 (CEST)
:Hej, problem polega na tym, że ten link wewnętrzny nie działa. Zobacz tu: Karbieniec pospolity (jeszcze nie zmienilam na zewnetrzny). Robie to rowniez z zamiarem, ze jak ta linia kodu bedzie wszedzie ujednolicona, to bedzie to mozna za jednym zamachem wszedzie zmienic na poprawiony link wewnetrzny albo nawet szablon. Zglosilabym sie z taka prosba do ciebie, jak juz bylabym gotowa. Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 11:18, 17 paź 2025 (CEST)
:Wystarczy napisać: {{L|w:Wikipedia:Zastrzeżenia_dotyczące_pojęć_medycznych|Zastrzeżenia dotyczące pojęć medycznych}} lub kod: {{s|lpr|Zastrzeżenia dotyczące pojęć medycznych}}, wynik: {{lpr|Zastrzeżenia dotyczące pojęć medycznych}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]])
== Odp. ==
Dzień dobry. Oczywiście mogę się tego trzymać i tworzyć tylko autorskie przepisy. Jednak pragnę zauważyć różnicę między moim wkładem a wkładem użytkownika Świętokrzyskie3 - on przepisywał słowo w słowo przepis i wklejał go na Wikibooks (co oczywiście jest nielegalne, ponieważ jest naruszeniem praw autorskich, co jest przestępstwem). Ja natomiast dokładnie analizuje przepis i własnymi słowami piszę co należy zrobić i tworzę listę składników. Zwłaszcza, że książka skąd pochodzą przepisy na rozmaite sałatki jest dość stara i mało dostępna, więc chciałem jej wartościowe przepisy przenieść do świata wirtualnego. Ale rozumiem, zaprzestanę. Myślałem, że nie jest to niezalecane, bo na podobnym wariancie tworzył kiedyś przepisy Cyborian ([[Specjalna:Wkład/Cyborian]]).
Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:07, 22 paź 2025 (CEST)
== Odp. ==
Dziękuje bardzo za informację, nie wiedziałem, że toczy się dyskusja. Zabrałem głos. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:17, 27 paź 2025 (CET)
== Naruszenia praw autorskich na Wikibooks ==
Witaj. Piszę informacyjnie - dzisiaj otrzymałem przyznane mi przez Was (dziękuję!) uprawnienia administratora. Dokończyłem sprzątanie naruszających prawa autorskie przepisów użytkownika [[Specjalna:Wkład/Snd125671|Snd125671]](bo nie wszystkie były naruszeniem), więc wydaje się, że raz na zawsze udało nam się uporać z tymi naruszeniami w książce kucharskiej. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:37, 28 paź 2025 (CET)
:@[[Wikipedysta:Igor123121|Igor123121]] Dziekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:52, 28 paź 2025 (CET)
::Hej. Bardzo dziękuję za informację o dwukropkach. Poprawione :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:03, 7 lis 2025 (CET)
{{DNU/info|Wstępna charakterystyka bakteriofaga Serratia φOS10|2025:11:12|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:33, 12 lis 2025 (CET)
== Odp. ==
Cześć. Jutro mogę przenieść kategorię i elementy, mam nadzieje, że to nie problem. Pozdrawiam serdecznie! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:52, 12 lis 2025 (CET)
{{DNU/info|Książka kucharska/Alfabetyczny spis potraw|2025:11:12|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:27, 12 lis 2025 (CET)
{{DNU/info|Mykowirusy – wirusy infekujące grzyby|2025:11:13|artykuł|tak}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:27, 12 lis 2025 (CET)
== Kategoria:Gimnazjum ==
Cześć! Dzisiaj dokończyłem przenoszenie tej kategorii na "Kategoria:Klasy 7-8 szkoły podstawowej" Przepraszam, że po 4 dniach, ale zupełnie wypadło mi z głowy. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:51, 17 lis 2025 (CET)
== Odp.: [[User talk:Persino#Szablony dla przypisow|Szablony dla przypisów]] ==
Oto są szablony, o które prosiłaś: {{s|Brudnopis/Persino/Pszcz Pasieka24}} i {{s|Brudnopis/Persino/Ziel Panacea}}.
Przykłady:
: Pierwszy: {{s|Brudnopis/Persino/Pszcz Pasieka24|260-pasieka-5-2024|260-pasieka-5-2024}} → {{Brudnopis/Persino/Pszcz Pasieka24|260-pasieka-5-2024|260-pasieka-5-2024}},
: Drugi: {{s|Brudnopis/Persino/Ziel Panacea|tymianek-2/|tymianek-2}} → {{Brudnopis/Persino/Ziel Panacea|tymianek-2/|tymianek-2}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:22, 7 gru 2025 (CET)
To masz na dwa sposoby...
Przykłady:
: Pierwszy: {{s|Brudnopis/Persino/Pszcz Pasieka24|podstrona{{=}}260-pasieka-5-2024|nazwa{{=}}260-pasieka-5-2024}} → {{Brudnopis/Persino/Pszcz Pasieka24|podstrona=260-pasieka-5-2024|nazwa=260-pasieka-5-2024}},
: Drugi: {{s|Brudnopis/Persino/Ziel Panacea|podstrona{{=}}tymianek-2/|nazwa{{=}}tymianek-2}} → {{Brudnopis/Persino/Ziel Panacea|podstrona=tymianek-2/|nazwa=tymianek-2}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:46, 7 gru 2025 (CET)
Jedynie je pozostało przenieść do przestrzeni podstawowej niebrudnopisowej: {{Np|Template|link=tak}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:52, 7 gru 2025 (CET)
Na tych stronach, co dodałaś te szablony, zamień według:
: {{s|Brudnopis/Persino/Pszcz Pasieka24}} → {{s|Pszcz Pasieka24}},
: {{s|Brudnopis/Persino/Ziel Panacea}} → {{s|Ziel Panacea}}.
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:41, 7 gru 2025 (CET)
Dla szablonu: {{s|Pszcz FeA}}
: {{s|Pszcz FeA|fiori_e_api.pdf|<nowiki>''Fiori e Api''</nowiki>|autor{{=}}Ricciardelli, G., Intoppa|czasopismo{{=}}Bolonia 2000}} → {{Pszcz FeA|fiori_e_api.pdf|''Fiori e Api''|autor=Ricciardelli, G., Intoppa|czasopismo=Bolonia 2000}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:06, 9 gru 2025 (CET)
; Odp. [[User talk:Persino#Szablony linkow do czasopism jako zrodel - male nieporozumienie|Szablony linków do czasopism jako źródeł - małe nieporozumienie]]
Tak, oddaje ten twój sens. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:18, 11 gru 2025 (CET)
; Odp. '''Pytanie do: "Jak tworzyć szablony szczególne szablonu <nowiki>{{PrzypisStrona}}</nowiki>, w oparciu o ten szablon"'''
Dalsze stałe umieszczamy tam gdzie pole adresu, np.
: {{s|NoweWywołanieModułu|adres{{=}}...|czasopismo{{=}}..|itd.{{=}}...|inne parametry{{=}}...}},
oto przykład:
{{Pre|{{m|Ramka|Szablon|Nazwa{{=}}PrzypisStrona|adres{{=}}https://panacea.pl|czasopismo{{=}}...|issn{{=}}...|wydawca{{=}}...|itd.{{=}}...|bez argumentów szablonu{{=}}url;tytuł;praca|zmienna z parametrami rodzica{{=}}tak|zmienna z argumentami ramki{{=}}tak}}}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:13, 14 gru 2025 (CET)
: Nie ma zmiennej {{Code|autorzy}}, tylko jest {{Code|autor}}, w którym możesz pisać jednego lub więcej autorów, tak jak w szablonie {{s|Cytuj}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:32, 14 gru 2025 (CET)
== Znaczniki: {{Tag|font}}, {{Tag|tt}}, {{Tag|center}} ==
Zamiast znacznika: {{Tag|font}}, stosuj szablon: {{s|font}}, {{Tag|tt}} - {{s|tt}} i {{Tag|center}} - {{s|center}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:23, 14 lut 2026 (CET)
== [[:Kategoria:Szablon uprawa - roślina infobox (artykuły) do sprawdzenia]] ==
* {{Ping|EdytaT}} Czy mogłabyś dodać obrazki do infoboksu {{s|Uprawa - roślina infobox}} dla stron znajdujących się w kategorii podanej w nagłówku w ramach porządków na Wikibooks. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:38, 18 kwi 2026 (CEST)
*:Gotowe. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 09:57, 19 kwi 2026 (CEST)
5rgtrlpdv8papv38vj0blj7x9aiw2mj
Pszczelarstwo/Rośliny/Tabela
0
15869
540091
534016
2026-04-19T08:01:36Z
EdytaT
2664
540091
wikitext
text/x-wiki
{{Rozdział|Pszczelarstwo|Fenologiczna tabela roślin pszczelarskich}}
<noinclude>{{NawigacjaG
| 1 = Pszczelarstwo
| 2 = [[Pszczelarstwo/Rośliny|Rośliny pszczelarskie]]
| 3 =
}}</noinclude>
{|class="wikitable"
|+
! Rodzaj
! Uwagi
! Kwitnienie
! Nektar
! Pyłek
! Spadź
! Znaczenie
|-
| [[Pszczelarstwo/Rośliny/Ciemiernik|'''Ciemiernik''']]{{Br}} (''Helleborus'')
|
| XII - II
|
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Lonicera|'''Suchodrzew Purpusa''']]{{Br}} (''Lonicera ×purpusii'')
|
| XII - III
|
| ++
|
|
|-
| {{Small|[[Pszczelarstwo/Rośliny/Migdałowiec|Migdałowiec]]{{Br}} (''Prunus dulcis'')}}
| {{Small|nie w Polsce}}
| II
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Wrzosiec|'''Wrzosiec''']]{{Br}} (''Erica'')
|
| II - IV
|
| ++
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Leszczyna|'''Leszczyna pospolita''']]{{Br}} (''Corylus avellana'')
| {{Small|}}
| II - III
|
| +++
| +
| +++
|-
| [[Pszczelarstwo/Rośliny/Olsza|'''Olsza szara''']]{{Br}} (''Alnus incana'')
|
| II - IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Śnieżyczka|'''Śnieżyczka''']]{{Br}} (''Galanthus'')
|
| II - III
|
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Leucojum|'''Śnieżyca wiosenna''']]{{Br}} (''Leucojum vernum'')
|
| II - III
|
| ++
| ++
| ++
|-
| [[Pszczelarstwo/Rośliny/Rannik|'''Rannik zimowy''']]{{Br}} (''Eranthis hyemalis'')
| {{Small|po śnieżyczce, przed iwą}}
| II - III
|
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Szafran|'''Szafran''']]{{Br}} (''Crocus'')
| {{Small|po śnieżyczce, przed iwą}}
| II - III
|
| ++
| ++
| ++
|-
| [[Pszczelarstwo/Rośliny/Salvia rosmarinus|'''Rozmaryn''']]{{Br}} (''Salvia rosmarinus'')
|
| III - IV
|
| ++
| ++
| ++
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba wawrzynkowa''']]{{Br}} (''Salix daphnoides'')
|
| kon. III - IV
|
|
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Stokrotka|'''Stokrotka pospolita''']]{{Br}} (''Bellis parennis'')
| {{Small|razem z iwą}}
| kon. III - IX
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Podbiał|'''Podbiał pospolity''']]{{Br}} (''Tussilago farfara'')
| {{Small|razem z iwą}}
| kon. III - pocz. IV
|
| +++
| +
| +++
|-
| [[Pszczelarstwo/Rośliny/Cebulica|'''Cebulica''']]{{Br}} (''Scilla'')
| {{Small|przed mahonią}}
| kon. III - pocz. IV
|
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Prunus|'''Wiśnia nippońska''']]{{Br}} (''Prunus noppinica var. kurilensis'')
| {{Small|tuż po pierwszych wierzbach i podbiale, przed mahonią}}
| pocz. IV
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Ribes|'''Porzeczka krwista''']]{{Br}} (''Ribes sanguineum'')
| {{Small|tuż po pierwszych wierzbach i podbiale, przed mahonią}}
| pocz. IV
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Mahonia|'''Mahonia pospolita''']]{{Br}} (''Mahonia aquifolium'')
| {{Small|tuż po pierwszych wierzbach i podbiale}}
| kon. III - V
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba iwa''']]{{Br}} (''Salix capraea'')
| {{Small|ewent. spadź (liściasta) razem z mniszkiem}}
| pocz. IV
| ++
| +++
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba purpurowa (wiklina)''']]{{Br}} (''Salix purpurea'')
|
| pocz. IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba wiciowa (witwa)''']]{{Br}} (''Salix viminalis'')
|
| pocz. IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba siwa''']]{{Br}} (''Salix eleagnos'')
|
| pocz. IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Prunus#Śliwa|'''Śliwa ałycza''']]{{Br}} (''Prunus cerasifera'')
| {{Small|po leszczynie, po iwie, kwiaty przed liścmi, żywopłot}}
| IV
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Asphodelus|'''Złotogłów''']]{{Br}} (''Asphodelus'')
|
| IV - V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Hippophaë|'''Rokitnik zwyczajny''']]{{Br}} (''Hippophaë rhamnoides'')
|
| IV - V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Dereń|'''Dereń jadalny''']]{{Br}} (''Cornus mas'')
|
| pocz. IV
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Prunus#Tarnina|'''Śliwa tarnina''']]{{Br}} (''Prunus spinosa'')
|
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Topola|'''Topola''']]{{Br}} (''Ulmus'')
|
| pocz. IV
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Anemone|'''Zawilec leśny''']]{{Br}} (''Anemone sylvestris'')
|
| IV - V
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Przylaszczka|'''Przylaszka pospolita''']]{{Br}} (''Hepatica nobilis'')
|
| IV - V
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Chaenomeles|'''Pigwowiec japoński''']]{{Br}} (''Chaenomeles japonica'')
|
| IV - V
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Orixa|'''Oriksa japońska''']]{{Br}} (''Orixa japonica'')
|
| IV - V
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Jasnota|'''Jasnota''']]{{Br}} (''Lamium'')
|
| IV -X
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Taraxacum|'''Mniszek zwyczajny''']]{{Br}} (Taraxacum officinale'')
| {{Small|przed klonem, razem z wiśnią, ewent. razem ze spadzią (liściastą) wierzby i klonu}}
| kon. IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Pyrus|'''Grusza polna''']]{{Br}} (''Pyrus pyraster'')
| {{Small|przed jabłonią}}
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Acer|'''Klon zwyczajny''']]{{Br}} (''Acer platanoides'')
| {{Small|przed wiśnią}}
| IV - V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Wiśnia|'''Wiśnia''']]{{Br}} (''Cerasus vulgaris'')
| {{Small|po klonie, razem z mniszkiem}}
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Czereśnia|'''Czereśnia''']]{{Br}} (''Cerasus avium'')
|
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Ribes#Czarna porzeczka|'''Czarna porzeczka''']]{{Br}} (''Ribes nigrum'')
| {{Small|}}
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Agrest|'''Agrest''']]{{Br}} (''Ribes uva-crispa'')
| {{Small|}}
| IV
|
|
|
| 60 kg/ha
|-
| [[Pszczelarstwo/Rośliny/Malus|'''Jabłoń''']]{{Br}} (''Malus domestica'')
| {{Small|po gruszy}}
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Prunus#Brzoskwinia|'''Brzoskwinia zwyczajna''']]{{Br}} (''Prunus persica'')
| {{Small|kwiaty przed liścmi}}
| IV
|
|
|
| ++{{Br}}4,3 mg cukrów/10 kwiatów{{Br}}36 kg cukrów/ha{{r|ref2}}
|-
| [[Pszczelarstwo/Rośliny/Prunus#Morela|'''Morela zwyczajna''']]{{Br}} (''Prunus armeniaca'')
| {{Small|kwiaty przed liścmi}}
| IV
|
|
|
| ++{{Br}}16,3 mg cukrów/10 kwiatów{{Br}}11 kg cukrów/ha{{r|ref2}}
|-
| [[Pszczelarstwo/Rośliny/Prunus#Śliwa|'''Śliwa domowa''']]{{Br}} (''Prunus domestica'')
|
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Pyrus|'''Grusza polna''']]{{Br}} (''Pyrus pyraster'')
| {{Small|przed jabłonią}}
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Buxus|'''Bukszpan wieczniezielony''']]{{Br}}
|
| IV
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba trójpręcikowa''']]{{Br}} (''Salix triandra'')
|
| IV - V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Brassica|'''Rzepak''']]{{Br}} (''Brassica napus'')
| {{Small|po wiśni}}
| IV - V
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Borówka|'''Borówka wysoka''']]{{Br}} (''Vaccinium corymbosum'')
|
| IV - V
| ++
| ++
|
|
|-
| [[Pszczelarstwo/Rośliny/Acer|'''Klon polny''']]{{Br}} (''Acer campestre'')
|
| IV - V
|
|
|
| ++{{Br}}4,3 mg cukrów/10 kwiatów{{Br}}36 kg cukrów/ha{{r|ref2}}
|-
| [[Pszczelarstwo/Rośliny/Acer|'''Klon zwyczajny''']]{{Br}} (''Acer platanoides'')
| {{Small|przed wiśnią}}
| IV - V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Lonicera|'''Wiciokrzew siny''']]{{Br}} (''Lonicera caerulea'')
| {{Small|14 dni przed truskawką}}
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Cercis|'''Judaszowiec kanadyjski''']]{{Br}} (''Cercis canadensis'')
|
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Wierzba pięciopręcikowa (laurowa)''']]{{Br}} (''Salix pentandra'')
|
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Salix|'''Świdwośliwa''']]{{Br}} (''Amelanchier'')
|
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Ceanothus|'''Prusznik''']]{{Br}} (''Ceanothus'')
|
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Cotoneaster|'''Irga błyszcząca''']]{{Br}} (''Cotoneaster lucidus'')
| {{Small|po ałyczy}}
| V
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Ribes#Porzeczka alpejska|'''Porzeczka alpejska''']]{{Br}} (''Ribes alpinum'')
| {{Small|}}
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Cotoneaster|'''Irga pospolita''']]{{Br}} (''Cotoneaster integerrima'')
|
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Pęcherznica|'''Pęcherznica kalinolistna''']]{{Br}} (''Physocarpus opulifolius'')
|
| V
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Asimina|'''Asymina trójklapowa''']]{{Br}} (''Asimina triloba'')
|
| V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Kamasja|'''Kamasja''']]{{Br}} (''Camassia'')
|
| V
| ++
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Wiąz|'''Wiąz''']]{{Br}} (''Ulmus'')
| {{Small| czasem spadź (''Cacopsylla ulmi'') w miodzie rzepakowym}}
| V
|
|
| +
|
|-
| [[Pszczelarstwo/Rośliny/Aesculus|'''Kasztanowiec zwyczajny''']]{{Br}} (''Aesculus hippocastanum'')
|
| V
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Caragana|'''Karagana syberyjska''']]{{Br}} (''Caragana arborescens'')
| {{Small|}}
| poł. V
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Crataegus|'''Głóg''']]{{Br}} (''Crataegus'')
|
| V - VI
| ++
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Robinia|'''Robinia''']]{{Br}} (''Robinia pseudoacacia'')
| {{Small| po mniszku, przed maliną, przed lipą}}
| V - VI
| +++
| +
|
| +++{{Br}} 600-1800 kg/ha
|-
| [[Pszczelarstwo/Rośliny/Cucumis|'''Ogórek''']]{{Br}} (''Cucumis'')
|
| V - VI
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Lonicera|'''Wiciokrzew pospolity''']]{{Br}} (''Lonicera xylosteum'')
| {{Small| }}
| V - VI
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Dictamnus|'''Dyptam''']]{{Br}} (''Dictamnus albus'')
| {{Small| }}
| V - VI
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Abelia|'''Abelia mosańska''']]{{Br}} (''Abelia mosanensis'')
| {{Small| }}
| V - VI
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Czeremcha|'''Czeremcha amerykańska''']]{{Br}} (''Padus serotina'')
|
| V - VI
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Cydonia|'''Pigwa pospolita''']]{{Br}} (''Cydonia oblonga'')
| {{Small|po drzewach owocowych}}
| V - VI
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Phelledendron|'''Korkowiec amurski''']]{{Br}} (''Phellodendron amurense'')
|
| V - VI
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Acer|'''Klon kłosowy''']]{{Br}} (''Acer spicatum'')
|
| V - VI
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Jarząb|'''Jarząb''']]{{Br}} (''Sorbus'')
|
|
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Jarząb|'''Jarząb pospolity (jarzębina)''']]{{Br}} (''Sorbus aucuparia'')
|
| V - VI
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Onobrychis|'''Sparceta''']]{{Br}} (''Onobrychis vicifolia'')
| {{Small|}}
| V - VI
| +++
|
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Parczelina|'''Parczelina trójlistkowa''']]{{Br}} (''Ptelea trifoliata'')
|
| kon. V - poł. VI
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Trzmielina|'''Trzmielina pospolita''']]{{Br}} (''Euonymus europaeus'')
|
| kon. V - poł. VI
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Dereń|'''Dereń świdwa''']]{{Br}} (''Cornus sanguinea'')
|
| V - VI
| +
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Szałwia|'''Szałwia''']]{{Br}} (''Salvia'')
|
| V - VI
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Lonicera|'''Wiciokrzew pospolity''']]{{Br}} (''Lonicera xylosteum'')
|
| V - VI
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Anthyllis|'''Przelot''']]{{Br}} (''Anthyllis'')
|
| V - VII
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Viburnum|'''Kalina hordowina''']]{{Br}} (''Viburnum lantana'')
|
| V - VI
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Czosnek#Cebula|'''Cebula''']]{{Br}} (''Allium cepa'')
| {{Small|po sadach}}
| V - VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Czosnek#Szczypior|'''Szczypior''']]{{Br}} (''Allium schoenoprasum'')
|
| V - VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Frangula|'''Kruszyna pospolita''']]{{Br}} (''Frangula alnus, Rhamnus frangula'')
|
| V - VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Thymus|'''Macierzanka tymianek''']]{{Br}} (''Thymus vulgaris'')
|
| V - IX
| +
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Chaber|'''Chaber bławatek''']]{{Br}} (''Centaurea cyanus'')
|
| V - IX
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Kasztan|'''Kasztan jadalny''']]{{Br}} (''Castanea sativa'')
|
| VI
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Elaeagnus|'''Oliwnik wąskolistny''']]{{Br}} (''Elaeagnus angustifolia'')
|
| poł. VI
| ++
|
|
| ++{{Br}}4,6 mg cukrów/10 kwiatów{{Br}}13 kg cukrów/ha{{r|ref2}}
|-
| [[Pszczelarstwo/Rośliny/Kolcowój|'''Kolcowój pospolity]]{{Br}} (''Lycium barbarum'')
|
| VI - VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Malina|'''Malina''']]{{Br}} (''Rubus idaeus'')
| {{Small|}}
| VI - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Rubus|'''Jeżyna''']]{{Br}} (''Rubus'')
|
| VI - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Fragaria|'''Truskawka''']]{{Br}} (''Fragaria × ananassa'')
|
| VI - VIII
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Wrotycz|'''Wrotycz pospolity''']]{{Br}} (''Tanacetum vulgare'')
| {{Small|}}
| VI - VIII
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Tilia|'''Lipa szerokolistna''']]{{Br}} (''Tilia platyphyllos'')
| {{Small|po malinie, odp. dobrane gatunki kwitną przez 2 miesiące}}
| poł. VI - pocz. VII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Tilia|'''Lipa Moltkego''']]{{Br}} (''Tilia x moltkei'')
| {{Small|wyd. cukrową 4x wyższa niż lipa drobnolistna, przed krymską}}
| poł. VI - pocz. VII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Nostrzyk|'''Nostrzyk''']]{{Br}} (''Melilotus'')
|
| VI
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Lonicera|'''Wiciokrzew Maacka''']]{{Br}} (''Lonicera maackii'')
|
| VI
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Janowiec|'''Janowiec''']]{{Br}} (''Genista'')
|
| VI - VII
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Liriodendron|'''Tulipanowiec''']]{{Br}} (''Liriodendron'')
|
| VI - VII
| +
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Catalpa|'''Surma bigoniowa''']]{{Br}} (''Catalpa bignonioides'')
|
| VI - VII
| +
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Trojeść|'''Trojeść''']]{{Br}} (''Asclepias'')
|
| VI - VII
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Czyściec|'''Czyściec''']]{{Br}} (''Stachys'')
|
| VI - VII
| +
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Ogórecznik|'''Ogórecznik lekarski''']]{{Br}} (''Borago officinalis'')
|
| VI - VII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Melisa|'''Melisa lekarska''']]{{Br}} (''Melissa officinalis'')
|
| VI - VII
| +++
|
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Mięta|'''Mięta pieprzowa''']]{{Br}} (''Mentha piperita'')
|
| VI - VII
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Parthenocissus|'''Winobluszcz trójklapowy''']]{{Br}} (''Parthenocissus tricuspidata'')
|
| VI - VII
| +
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Ligustrum|'''Ligustr tępolistny''']]{{Br}} (''Ligustrum obtusifolium'')
|
| kon. VI - VII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Ligustrum|'''Ligustr jajowatolistny''']]{{Br}} (''Ligustrum ovalifolium'')
|
| kon. VI - VII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Rhus|'''Sumak octowiec''']]{{Br}} (''Rhus typhina'')
|
| kon. VI - VII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Lebiodka|'''Lebiodka pospolita''']]{{Br}} (''Origanum vulgare'')
|
| VI - VIII
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Leonurus|'''Serdecznik pospolity''']]{{Br}} (''Leonurus'')
|
| VI - VIII
| 200 kg/ha
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Veronica|'''Przetacznik długolistny''']]{{Br}} (''Veronica longifolia'')
|
| VI - VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Dziurawiec|'''Dziurawiec zwyczajny''']]{{Br}} (''Hypericum perforatum'')
|
| VI - VIII
|
| +
|
| +
|-
| [[Pszczelarstwo/Rośliny/Amorfa|'''Amorfa krzewiasta''']]{{Br}} (''Amorpha fruticosa'')
|
| VI - VIII
| ++
|
|
| ++{{Br}}2,0 mg cukrów/10 kwiatów{{Br}}68 kg cukrów/ha{{r|ref2}}
|-
| [[Pszczelarstwo/Rośliny/Wyka|'''Wyka''']]{{Br}} (''Vicia'')
|
| VI - VIII
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Sinapis|'''Gorczyca biała''']]{{Br}} (''Sinapis alba'')
|
| VI - IX
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Hypochoeris|'''Prosiecznik''']]{{Br}} (''Hypochoeris'')
|
| VI - IX
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Monarda|'''Pysznogłówka''']]{{Br}} (''Monarda'')
|
| VI - IX
| +
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Wierzbówka|'''Wierzbówka kiprzyca''']]{{Br}} (''Epilobium angustifolium'')
|
| VI - IX
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Facelia|'''Facelia błękitna''']]{{Br}} (''Phacelia tanacetifolia'')
|
| VI - IX
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Echium|'''Żmijowiec''']]{{Br}} (''Echium'')
|
| VI - IX
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Symphoricarpos|'''Śnieguliczka biała''']]{{Br}} (''Symphoricarpos albus'')
| {{Small|najlepszy krzew miododajny}}
| VI do IX
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Carduus|'''Oset zwisły''']]{{Br}} (''Carduus nutans'')
|
| VI do IX
| 200 kg/ha
|
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Impatiens glandulifera|'''Niecierpek gruczołowaty''']]{{Br}} (''Impatiens glandulifera'')
| {{Small|}}
| VI do X
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Nepeta|'''Kocimiętka właściwa''']]{{Br}} (''Nepeta cataria'')
| {{Small|}}
| VII - VIII
| 200 kg/ha
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Ligustrum|'''Ligustr pospolity''']]{{Br}} (''Ligustrum vulgare'')
|
| VII
| ++
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Maackia|'''Maakia amurska''']]{{Br}} (''Maackia amurensis'')
|
| VII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Tilia|'''Lipa drobnolistna''']]{{Br}} (''Tilia cordata'')
| {{Small|}}
| pocz. VII - poł. VII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Tilia|'''Lipa krymska''']]{{Br}} (''Tilia euchlora'')
| {{Small|przed jaopńską}}
| pocz. VII - poł. VII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Parthenocissus|'''Winobluszcz pięciolistkowy''']]{{Br}} (''Parthenocissus quinquefolia'')
|
| VII - poł. VIII
| +
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Szczeć|'''Szczeć pospolita''']]{{Br}} (''Dipsacus fullonum'')
| {{Small|}}
| VII - VIII
| +
| +
|
| +{{br}}300 kg miodu, 250 kg pyłku
|-
| [[Pszczelarstwo/Rośliny/Tilia|'''Lipa japońska''']]{{Br}} (''Tilia japonica'')
| {{Small|jak wonna}}
| od poł. VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Tilia|'''Lipa wonna''']]{{Br}} (''Tilia innsullaris'')
| {{Small|jak japońska}}
| od poł. VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Bożodrzew|'''Bożodrzew gruczołowaty''']]{{Br}} (''Ailanthus altissima'')
|
| VII
| ++
|
|
| ++{{Br}}6,0 mg cukrów/10 kwiatów{{Br}}42 kg cukrów/ha{{r|ref2}}
|-
| [[Pszczelarstwo/Rośliny/Trifolium|'''Koniczyna''']]{{Br}} (''Trifolium'')
|
| VII - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Hyssopus|'''Hyzop lekarski''']]{{Br}} (''Hyssopus officinalis'')
| {{Small|}}
| VII - VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Przegorzan|'''Przegorzan kulisty''']]{{Br}} (''Echinops sphaerocephalus'')
|
| VII - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Przegorzan|'''Przegorzan węgierski''']]{{Br}} (''Echinops banaticus'')
|
| VII - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Słonecznik|'''Słonecznik''']]{{Br}} (''Helianthus'')
|
| VII - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Nawłoć|'''Nawłoć późna''']]{{Br}} (''Solidago gigantea'')
|
| VII - VIII
| +++
| ++
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Agastache|'''Kłosowiec''']]{{Br}} (''Agastache'')
|
| VII - VIII
| +++
| +
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Malwa|'''Malwa''']]{{Br}} (''Alcea'')
|
| VII - VIII
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Leycesteria|'''Leycesteria formosa''']]{{Br}} (''Leycesteria formosa'')
|
| VII - IX
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Onopordum|'''Popłoch''']]{{Br}} (''Onopordum'')
|
| VII - IX
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Eupatorium|'''Sadziec''']]{{Br}} (''Eupatorium'')
|
| VII - IX
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Ślazowiec|'''Ślazowiec pensylwański''']]{{Br}} (''Sida hermaphrodita'')
|
| VII - IX
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Cirsium|'''Ostrożeń''']]{{Br}} (''Cirsium'')
|
| VII - IX
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Spiraea|'''Tawuła japońska''']]{{Br}} (''Spiraea japonica'')
|
| VII - IX
| ++
| ++
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Dzielżan|'''Dzielżan''']]{{Br}} (''Helenium'')
|
| VII - IX
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Aster|'''Aster''']]{{Br}} (''Aster'')
|
| VII - IX
|
|
|
| ++
|-
| [[Pszczelarstwo/Rośliny/Dahlia|'''Dalia''']]{{Br}} (''Dahlia'')
|
| VII - X
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Rudbekia|'''Rudbekia''']]{{Br}} (''Rudbeckia'')
|
| VII - X
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Perowskia|'''Perowskia''']]{{Br}} (''Perovskia'')
|
| VII - X
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Fallopia|'''Rdestówka''']]{{Br}} (''Fallopia'')
|
| VII - X
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Cząber|'''Cząber''']]{{Br}} (''Satureja'')
|
| VII - X
|
|
|
| +
|-
| [[Pszczelarstwo/Rośliny/Krwawnica|'''Krwawnica pospolita''']]{{Br}} (''Lythrum salicaria'')
|
| VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Kufea|'''Kufea''']]{{Br}} (''Cuphea'')
|
| VIII
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Euodia|'''Ewodia''']]{{Br}} (''Evodia'')
|
| VIII
| +++
| ++
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Maackia|'''Maakia chińska''']]{{Br}} (''Maackia chinensis'')
|
| VIII - IX
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Aralia|'''Aralia''']]{{Br}} (''Aralia'')
|
| VIII - IX
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Calluna|'''Wrzos''']]{{Br}} (''Calluna'')
|
| VIII - IX
| ++
| ++
|
| +++
|-
| [[Pszczelarstwo/Rośliny/Vitex|'''Niepokalanek''']]{{Br}} (''Vitex agnus-castus'')
|
| VIII - IX
|
|
|
|
|-
| [[Pszczelarstwo/Rośliny/Bluszcz|'''Bluszcz''']]{{Br}} (''Hedera'')
|
| IX - X
|
| +
|
| +
|-
|}
{{Przypisy|
{{o|n=ref2|r=[http://www.jas.org.pl/1_2004.html Jabłoński B., Kołtowski Z., JAS, 2004]}}
}}
<noinclude>{{Nawigacja
| 1 = Pszczelarstwo
| 2 = [[Pszczelarstwo/Rośliny|Rośliny pszczelarskie]]
| 3 = [[Pszczelarstwo/Rośliny/Tabela|Tabela roślin pszczelarskich]]
}}</noinclude>
dc4ddt62heuq9bcc73u8q018w4mbfp5
Pszczelarstwo/Rośliny/Orixa
0
17690
540081
534115
2026-04-19T07:28:59Z
EdytaT
2664
540081
wikitext
text/x-wiki
{{Rozdział|Pszczelarstwo|Orixa}}
{{Uprawa - roślina infobox
| nazwa = Oriksa japońska
| obrazek = 2819-Orixa japonica-Arb.Brno-8.12.JPG
| systematyka = Systematyka wg [[w:System Reveal|Reveala]]
| rząd = [[w:Sapindales|mydleńcowce]]
| rodzina = [[w:Rutaceae|rutowate]]
| rodzaj = [[w:Orixa|Orixa]]
| łacina = Orixa japonica
| nazwy =
| wikipedia = Oriksa
| wikispecies =
| wikisłownik = oriksa
| commons = Orixa
}}
{|class="wikitable"
|+
!
! Kwitnienie
! Kolor{{Br}} pyłku
! Nektar w kwiatach{{Br}}{{Small|mg/10 kwiatów}}{{r|ref1}}
! Cukier w nektarze{{Br}}{{Small|%}}
! Pyłek{{Br}}{{Small|kg/ha}}{{r|ref1}}
! Spadź
! Wyd. miodowa{{Br}}{{Small|kg/ha}}{{r|ref1}}
|-
| '''oriksa japońska'''{{Br}}(''O. japonica'')
| IV - V
|
|
|
|
|
|
|-
|}
== Oriksa japońska (''Orixa japonica'') ==
Oriksa japońska to rzadki w Polsce krzew pochodzący z Chin i Japonii, osiągający w warunkach Europy Środkowej do 3,50 m wysokości i szerokości. Jest spokrewniony z [[Pszczelastwo/Rośliny/Euodia|ewodią]] (''Euodia hupehensis''). Kwitnie jasnożółto w kwietniu i maju. Zarówno kwiaty jak i liście oriksy pięknie pachną.
== Odmiany hodowlane ==
* ''O. japonica'' – oriksa japońska
{{Przypisy|
{{o|n=ref1|r=[]}}
}}
4x3qb6qmcip0180sem26mq1iviboxqo
540087
540081
2026-04-19T07:55:18Z
EdytaT
2664
540087
wikitext
text/x-wiki
{{Podrozdział|[[Pszczelarstwo]]|Orixa}}
{{Uprawa - roślina infobox
| nazwa = Oriksa japońska
| obrazek = 2819-Orixa japonica-Arb.Brno-8.12.JPG
| systematyka = Systematyka wg [[w:System Reveal|Reveala]]
| rząd = [[w:Sapindales|mydleńcowce]]
| rodzina = [[w:Rutaceae|rutowate]]
| rodzaj = [[w:Orixa|Orixa]]
| łacina = Orixa japonica
| nazwy =
| wikipedia = Oriksa
| wikispecies =
| wikisłownik = oriksa
| commons = Orixa
}}
{|class="wikitable"
|+
!
! Kwitnienie
! Kolor{{Br}} pyłku
! Nektar w kwiatach{{Br}}{{Small|mg/10 kwiatów}}{{r|ref1}}
! Cukier w nektarze{{Br}}{{Small|%}}
! Pyłek{{Br}}{{Small|kg/ha}}{{r|ref1}}
! Spadź
! Wyd. miodowa{{Br}}{{Small|kg/ha}}{{r|ref1}}
|-
| '''oriksa japońska'''{{Br}}(''O. japonica'')
| IV - V
|
|
|
|
|
|
|-
|}
== Oriksa japońska (''Orixa japonica'') ==
Oriksa japońska to rzadki w Polsce krzew pochodzący z Chin i Japonii, osiągający w warunkach Europy Środkowej do 3,50 m wysokości i szerokości. Jest spokrewniony z [[Pszczelastwo/Rośliny/Euodia|ewodią]] (''Euodia hupehensis''). Kwitnie jasnożółto w kwietniu i maju. Zarówno kwiaty jak i liście oriksy pięknie pachną.
== Odmiany hodowlane ==
* ''O. japonica'' – oriksa japońska
{{Przypisy|
{{o|n=ref1|r=[]}}
}}
j4o87e3mzur1byl9f866j1699qa3kmo
Śpiewnik/Indeks tematyczny
0
56092
540025
539992
2026-04-18T12:10:35Z
Ashaio
4702
+3
540025
wikitext
text/x-wiki
__NOTOC__
Poniższe grupy nie są rozłączne (piosenka może należeć do więcej niż jednej kategorii).<br>
{| cellspacing="10" width="100%"
| width=50% |
| width=50% |
|-
|{{Pudełko komórkowe 1|tytuł= Pieśni patriotyczne
|grafika=
|tekst= * {{sr|Bogurodzica}}
* {{sr|Boże, coś Polskę}}
* {{sr|Czarna sukienka}}
* {{sr|Cześć polskiej ziemi, cześć}}
* {{sr|Cztery rzeczy w Polsce słyną}}
* {{sr|Leci liście z drzewa}}
* {{sr|Mazurek Dąbrowskiego}}
* {{sr|O Matko Polko}}
* {{sr|Rota}}
* {{sr|Święta miłości kochanej ojczyzny}}
* {{sr|Witaj majowa jutrzenko}}
}}
|{{Pudełko komórkowe 3|tytuł= Piosenki wojskowe
|grafika=
|tekst=* {{sr|Bartoszu, Bartoszu}}
* {{sr|Bywaj dziewczę zdrowe}}
* {{sr|Duma ukrainna}}
* {{sr|Idzie żołnierz borem, lasem}}
* {{sr|Jak to na wojence ładnie}}
* {{sr|Jeszcze jeden mazur dzisiaj}}
* {{sr|O mój rozmarynie}}
* {{sr|Tam na błoniu błyszczy kwiecie}}
* {{sr|W krwawem polu srebrne ptaszę}}
* {{sr|Wojenko, wojenko}}
* {{sr|Za Niemen het precz}}
}}
|-
|{{Pudełko komórkowe 2
|tytuł= Pieśni nabożne
|grafika=
|tekst= {{Wikiźródła|Śpiewnik kościelny}}
* {{sr|Boże wieczny, Boże żywy}}
* {{sr|Gaude mater}}
* {{sr|Kto się w opiekę}}
* {{sr|Ojcze z niebios Boże Panie}}
* {{sr|Pieśń poranna}}
* {{sr|Pieśń wieczorna}}
* {{sr|Potężny Boże}}
* {{sr|Serdeczna Matko}}
* {{sr|Spuśćcie nam na ziemskie niwy}}
* {{sr|Veni Creator}}
* {{sr|Wesoły nam dziś dzień nastał}}
* {{sr|Zdrowaś bądź Maryja}}
}}
|{{Pudełko komórkowe 4|tytuł= Kolędy
|grafika=
|tekst={{Wikiźródła|Wikitomik:Kancjonał bożonarodzeniowy... przez Wikiskrybów zebrany|Kancjonał bożonarodzeniowy}}
* {{sr|Anioł pasterzom mówił}}
* {{sr|Bóg się rodzi}}
* {{sr|Cicha noc}}
* {{sr|Dzisiaj w Betlejem}}
* {{sr|Gdy się Chrystus rodzi}}
* {{sr|Lulajże, Jezuniu}}
* {{sr|Mizerna, cicha}}
* {{sr|O, gwiazdeczko, coś świeciła}}
* {{sr|Przybieżeli do Betlejem}}
* {{sr|W żłobie leży}}
* {{sr|Witaj gwiazdko złota}}
}}
|-
|{{Pudełko komórkowe 1|tytuł= Piosenki i melodie ludowe
|grafika=
|tekst=* {{sr|Choćbym ja jeździł we dnie i w nocy}}
* {{sr|Czerwone jabłuszko}}
* {{sr|Hej, z góry, z góry jadą Mazury}}
* {{sr|Leć głosie po rosie, po niskiej leszczynie}}
* {{sr|Leć głosie po rosie, prosto ku laskowi }}
* {{sr|Oj, chmielu, chmielu}}
* {{sr|Oj ty horo kamennaja}}
* {{sr|Piękna nasza Polska cała}}
* {{sr|Płynie Wisła, płynie}}
* {{sr|Umarł Maciek, umarł}}
* {{sr|W murowanej piwnicy}}
* {{sr|W polu lipeńka}}
* {{sr|Zakochali się}}
}}
|{{Pudełko komórkowe 3|tytuł= Piosenki dla dzieci
|grafika=
|tekst= {{Wikiźródła|Śpiewnik dla dzieci}}
* {{sr|Jesienią}}
* {{sr|Kołysanka Brahmsa }}
* {{sr|Kukułeczka}}
* {{sr|Ogródek}}
* {{sr|Śnieżyca}}
* {{sr|W polu}}
* {{sr|Zajączek}}
* {{sr|Zła zima}}
}}
|-
|{{Pudełko komórkowe 2
|tytuł= Piosenki o miłości
|grafika=
|tekst=* {{sr|Dalibóg, że powiem mamie}}
* {{sr|Laura i Filon}}
* {{sr|Marzenie o grajku }}
* {{sr|Panicz i dziewczyna }}
* {{sr|Serce nie sługa}}
* {{sr|Śliczne gwoździki, piękne tulipany}}
* {{sr|Staropolskie zaloty}}
* {{sr|To są czary}}
* {{sr|Ty pójdziesz górą}}
* {{sr|Z wysokich Parnasów}}
* {{sr|Za Niemen het precz}}
* {{sr|Zakochali się}}
* {{sr|Życzenie}}
}}
|{{Pudełko komórkowe 4
|tytuł= Piosenki młodzieżowe
|grafika=
|tekst=* {{sr|Gaudeamus igitur}}
* {{sr|Hej koledzy, po mozołach}}
* {{sr|Hej koledzy, z wspólnej czary}}
* {{sr|Ospały i gnuśny, zgrzybiały ten świat}}
* {{sr|Po cóż ciągle w mieście siedzieć}}
* {{sr|Polska młodzież niech nam żyje}}
* {{sr|Upływa szybko życie}}
* {{sr|Użyjmy dziś żywota}}
* {{sr|Sadźmy, przyjacielu, róże}}
* {{sr|Żal, żal za jedyną}}
}}
|-
|{{Pudełko komórkowe 1|tytuł= Piosenki biesiadne
|grafika=
|tekst= * {{sr|Kiedy nam się pora zdarza}}
* {{sr|Komu dzwonią, temu dzwonią}}
* {{sr|Kurdesz}}
* {{sr|Małgorzatka}}
* {{sr|Pije Kuba do Jakuba}}
* {{sr|Precz, precz od nas smutek wszelki}}
* {{sr|Szlachetne zdrowie}}
* {{sr|Szynkareczko, szafareczko}}
* {{sr|Ten mem zdaniem dobrze żyje}}
* {{sr|Wdzięczna miłości kochanej szklanice }}
* {{sr|Wesoło, bracia, wesoło}}
}}
|{{Pudełko komórkowe 3|tytuł= Pieśni zadumy i tęsknoty. Pożegnania
|grafika=
|tekst= * {{sr|Znaszli ten kraj}}
'''Tęsknota za ukochaną/ukochanym:'''
* {{sr|Za Niemen het precz}}
'''Tęsknota za przeszłością:'''
* {{sr|Cieszmy się bracia nadzieją}}
* {{sr|Na dolinie zawierucha}}
* {{sr|Nie tak in illo tempore bywało|Nie tak ''in illo tempore'' bywało}}
* {{sr|O, gwiazdeczko, coś błyszczała}}
* {{sr|Ozdobo twarzy, pokrętne wąsy}}
* {{sr|W tył wyloty, w górę wąsy}}
'''Tęsknota za krajem rodzinnym:'''
* {{sr|Góralu, czy ci nie żal}}
* {{sr|Pożegnanie Childe Harolda}}
* {{sr|W głos serdeczna dumka płynie}}
}}
|-
|{{Pudełko komórkowe 2
|tytuł= Dumki i ballady
|grafika=
|tekst='''Ballady literackie:'''
* {{sr|Alpuhara}}
* {{sr|Lilie}}
* {{sr|Obie kochał pan}}
* {{sr|Świtezianka}}
* {{sr|Trzech Budrysów}}
'''Ballady ludowe:'''
* {{sr|Krakowianka i kat}}
* {{sr|Podolanka}}
* {{sr|Przyjechał Jasieńko}}
* {{sr|Stała nam się nowina}} → {{sr|Lilie}}
* {{sr|W okolicznem mieście}}
* {{sr|Zielony dzban}}
}}
|{{Pudełko komórkowe 4|tytuł= Piosenki wędrówkowe
|grafika=
|tekst='''Piosenki łowieckie:'''
* {{sr|Hej hej, hej hej, do kniej, do kniej}}
* {{sr|Pojedziemy na łów}}
* {{sr|Siedzi sobie zając pod miedzą}}
* {{sr|Śród opok i jarów}}
* {{sr|Zajączek}}
'''Piosenki żeglarskie:'''
* {{sr|Choć burza huczy wkoło nas}}
* {{sr|Hej, żeglujże, żeglarzu}}
* {{sr|Wesoło żeglujmy, wesoło}}
'''Piosenki o górach:'''
* {{sr|Czerwony pas}}
* {{sr|Jak dobrze nam}}
}}
|-
|{{Pudełko komórkowe 1|tytuł= Hymny i hejnały
|grafika=
|tekst= * {{sr|Mazurek Dąbrowskiego}} (hymn Polski)
* {{sr|Deutschlandlied}} (hymn Niemiec)
* {{sr|God Save the King}} (hymn Wielkiej Brytanii)
* {{sr|Hatikvah}} (hymn Izraela)
* {{sr|Marsylianka}} (hymn Francji)
* {{sr|Oda do radości}} (hymn Unii Europejskiej)
* {{sr|Ще не вмерла України і слава, і воля}} (hymn Ukrainy)
}}
|{{Pudełko komórkowe 3|tytuł= Pieśni (o) pracy
|grafika=
|tekst=* {{sr|Do pracy, razem do pracy}}
* {{sr|Nad mularską profesyą}} (pieśń murarza)
* {{sr|Polski przemysł niech nam żyje}}
* {{sr|Prząśniczka}}
* {{sr|Rześko, żwawo, stuku puku}} (pieśń kowala)
* {{sr|Słynie Gopło i Kruszwica}} (piosnka kołodzieja)
* {{sr|W ogrodzie na wodzie}} (przegląd zawodów)
* {{sr|Wio, koniku}} (piosnka furmana)
* {{sr|Wszystkich dziś ciekawość budzi}} (piosnka furmana)
}}
|-
|{{Pudełko komórkowe 2
|tytuł= O muzyce
|grafika=
|tekst=* {{sr|Lutni moja ulubiona}}
* {{sr|Marzenie o grajku }}
* {{sr|Wezmę ja skrzypki}}
}}
|{{Pudełko komórkowe 4|tytuł= Pieśni i piosenki o śmierci
|grafika=
|tekst=* {{sr|Był Matysek chłop przed laty}}
* {{sr|Komu dzwonią, temu dzwonią}}
* {{sr|Umarł Maciek, umarł}}
}}
|-
|{{Pudełko komórkowe 1|tytuł= Pieśni i piosenki po angielsku
|grafika=
|tekst={{Projekt siostrzany|projekt=wikibooks|tekst=Zobacz w [[:en:Main_Page|anglojęzycznych Wikibooks]] podręcznik '''[[:en:Songbook/Content#123|Songbook]]'''}}
* {{sr|Auld Lang Syne}}
* {{sr|God Save the King}} (hymn Wielkiej Brytanii)
* {{sr|Greensleeves}}
}}
|{{Pudełko komórkowe 3|tytuł= Śpiewy w języku łacińskim
|grafika=
|tekst=* {{sr|Gaude mater}}
* {{sr|Gaudeamus igitur}}
* {{sr|Veni Creator}}
}}
|-
|{{Pudełko komórkowe 2
|tytuł= Pieśni i piosenki po niemiecku
|grafika=
|tekst={{Projekt siostrzany|projekt=wikibooks|tekst=Zobacz w [[:de:Hauptseite|niemieckojęzycznych Wikibooks]] podręcznik '''[[:de:Liederbuch/_Inhalt#Lieder|Liederbuch]]'''}}
* {{sr|Deutschlandlied}} (hymn Niemiec)
* {{sr|Kołysanka Brahmsa }}
* {{sr|Oda do radości}}
}}
|{{Pudełko komórkowe 4|tytuł= Pieśni i piosenki po ukraińsku
|grafika=
|tekst=* {{sr|Дзюба}}
* {{sr|Їхав козак за Дунай}}
* {{sr|Ще не вмерла України і слава, і воля}}
}}
|-
|}
1xrdzsa2zv3459wihdfof4vev8pcm6c
Moduł:Html
828
56560
540076
540012
2026-04-19T06:21:29Z
Persino
2851
540076
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
tekst=mw.ustring.gsub(tekst,"([%|%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return tekst;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
tekst=mw.ustring.gsub(tekst,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
tekst=mw.ustring.gsub(tekst,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return tekst;
end;
function p.ZnakiSpecjalneTaguNowiki(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([%!{}|=<>%[%]])",tab_nawiasy);
return tekst;
end;
function p.ZnakiSpecjalneWikiLinku(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([{}|<>%[%]])",tab_nawiasy);
return tekst;
end;
function p.EncodeSpecjalneZnakiHtml(frame)
local parametry_modul=require("Module:Parametry");
local html=parametry_modul.PobierzParametryRamki(frame)("html");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
html=mw.ustring.gsub(html,"([{}|<>%[%]#=%?&])",tab_nawiasy);
return html;
end;
function p.EncodeZnakProloguList(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
local lista_znaki="%#%*%;%:";
tekst=mw.ustring.gsub(tekst,"^\n?(["..lista_znaki.."])",tab_nawiasy);
tekst=mw.ustring.gsub(tekst,"\n(["..lista_znaki.."])",function(znak)
return "\n"..(tab_nawiasy[znak] or znak);
end);
return tekst;
end;
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([=%?&])",tabela_nawiasowa);
return tekst;
end;
function p.PrzypisanieZnakoweEncodeHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([=])",tabela_nawiasowa);
return tekst;
end;
function p.ZamianaDwukropkaNaKodHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([:])",tabela_nawiasowa);
return tekst;
end;
function p.KodHTMLZnaku(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local znak=PobierzParametr(1);
if(not parametry_modul.CzyTak(znak))then return "(błąd)";end;
local czy_kod_znaku=PobierzParametr(2);
local czy_tak=parametry_modul["CzyTakCiąg"](czy_kod_znaku);
local ZnakFun=function(znak)
if(#znak>1)then
return mw.ustring.codepoint(znak);
else
return mw.ustring.byte(znak);
end;
end;
if(czy_tak)then
return "&#"..tostring(ZnakFun(znak))..";";
else
return "&#"..tostring(ZnakFun(znak))..";";
end;
end;
p["KodyHTMLZnakówWikiCiągu"] = function (frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local ciag_znakow=PobierzParametr(1);
if(not parametry_modul.CzyTak(ciag_znakow))then return "(błąd)";end;
local czy_kod_znaku=PobierzParametr(2);
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_znakowo_kodowa={};
local tabela_znakowa=html_dane_modul.tabela_znakowa;
local ciag,_=mw.ustring.gsub(ciag_znakow,"(.)",function(znak)
if(tabela_znakowa[znak])then
if(not czy_kod_znaku)then
return "&#"..tabela_znakowa[znak]..";";
else
return "&#"..tabela_znakowa[znak]..";";
end;
end;
return nil;
end);
return ciag;
end;
function p.EncodeId(id,bez_transformacji)
id=(not bez_transformacji) and p.DecodeHtml(id,true) or id;
local id=p.EncodeSpecjalneZnakiHtml(id);
return id;
end;
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)
parametr=mw.ustring.gsub(parametr,"","");
return parametr;
end;
function p.EncodeWiki(parametr,czy_nie_odstepy)
parametr=p["TransformacjaKoduHtmlDoZnakuCiągu"](parametr);
parametr=p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr);
local parametry_modul=require("Module:Parametry");
if(not czy_nie_odstepy)then
parametr=parametry_modul["Odstępy"]{[1]=parametr,[2]="tak",[3]="tak",};
end;
parametr=mw.text.encode(parametr);
return parametr;
end;
function p.DecodeWiki(parametr,czy_nie_odstepy)
parametr=mw.text.decode(parametr);
parametr=p["TransformacjaKoduHtmlDoZnakuCiągu"](parametr);
parametr=p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr);
if(not czy_nie_odstepy)then
local parametry_modul=require("Module:Parametry");
parametr=parametry_modul["Odstępy"]{[1]=parametr,[2]="tak",};
end;
return parametr;
end;
function p.IsEncodedHtml(parametr,encode,encode_real)
local parametry_modul=require("Module:Parametry");
local spr_parametr_szereg=nil;
local TempFunParametr=function(parametr)
if(parametry_modul.TypeNil(spr_parametr_szereg))then
local __spr_parametr_szereg=mw.ustring.match(parametr,"^[%w%p%s]*$");
spr_parametr_szereg=__spr_parametr_szereg and true or false;
return spr_parametr_szereg;
end;
return spr_parametr_szereg;
end;
local spr_parametr_bez_procentu=nil;
local TempFunBezProcentu=function(parametr)
if(parametry_modul.TypeNil(spr_parametr_bez_procentu))then
local __spr_parametr_bez_procentu=mw.ustring.match(parametr,"^[^%%]*$");
spr_parametr_bez_procentu=__spr_parametr_bez_procentu and true or false;
return spr_parametr_bez_procentu;
end;
return spr_parametr_bez_procentu;
end;
local wynik=((encode_real)and(TempFunParametr(parametr)and(TempFunBezProcentu(parametr))))
or((encode)and(TempFunBezProcentu(parametr)))
or(((not encode_real)or((encode_real)and(TempFunParametr(parametr))))
and(mw.ustring.match(parametr,"%%%x%x"))
and(not mw.ustring.match(parametr,"%%$"))
and(not mw.ustring.match(parametr,"%%.$"))
and(not mw.ustring.match(parametr,"%%[^%x]."))
and(not mw.ustring.match(parametr,"%%.[^%x]")));
return wynik and true or false;
end;
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)
if(not parametr)then return;end;
if(p.IsEncodedHtml(parametr,encode,encode_real))then
return p.EncodeWiki(parametr,czy_nie_odstepy);
end;
return mw.uri.encode(parametr,"WIKI");
end;
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)
if(not parametr)then return;end;
if(p.IsEncodedHtml(parametr,encode,encode_real))then
if(spacje)then
return p.DecodeWiki(mw.uri.decode(parametr,"WIKI"));
else
return p.EncodeWiki(mw.uri.decode(parametr,"WIKI"));
end;
end;
if(spacje)then
return p.DecodeWiki(parametr,czy_nie_odstepy);
else
return p.EncodeWiki(parametr,czy_nie_odstepy);
end;
end;
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)
znacznik=mw.ustring.gsub(znacznik,"([\"'])(.-[^\\])(%1)",function(cudzyslow_otwierajacy,atrybut,cudzyslow_zamykajacy)
local ile1;local ile2;
atrybut,ile1=mw.ustring.gsub(atrybut,"([<>&])",function(a)
return mw.text.encode(a);
end);
atrybut,ile2=mw.ustring.gsub(atrybut,"(\\\")",function(a)
return p["KodyHTMLZnakówWikiCiągu"](a);
end);
if(ile1+ile2>0)then
return cudzyslow_otwierajacy..atrybut..cudzyslow_zamykajacy;
end;
return nil;
end);
return znacznik;
end;
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)
value=mw.ustring.gsub(value,"(&)(%a+)(;)",function(amp,kod_html,srednik)
kod_html=mw.ustring.lower(kod_html);
if((kod_html=="lt")or(kod_html=="gt")or(kod_html=="amp"))then
return mw.text.decode(amp..kod_html..srednik);
end;
return nil;
end);
local lewy_ukosnik=mw.ustring.byte("\\");
local cudzyslow=mw.ustring.byte("\"");
value=mw.ustring.gsub(value,"(&#"..lewy_ukosnik..";&#"..cudzyslow..";)","\\\"");
return value;
end;
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_nie_dolne_myslniki=PobierzParametr("z nie dolnymi z myślnikami") or PobierzParametr(2) or czy_nie_dolne_myslniki;
czy_nie_dolne_myslniki=parametry_modul.CzyTak(czy_nie_dolne_myslniki);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
local naglowek=czy_nie_dolne_myslniki and mw.ustring.match(nazwa_jednostki,"^[^#]*#[%s_]*(.-)[%s_]*$") or mw.ustring.match(nazwa_jednostki,"^[^#]*#(.-)%s*$");
naglowek=parametry_modul["Odstępy"]{[1]=naglowek,[2]="tak",[3]=((not czy_nie_dolne_myslniki)and "tak" or nil),};
return naglowek;
end;
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
if(czy_naprawiaj)then
local bez_naglowka=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^[%s_]*([^#]-)[%s_]*#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=bez_naglowka;end;
local parametry=mw.ustring.match(bez_naglowka,"^.-%?*%?[%s_]*([^&]+=[^&]-.-)[%s_]*$");
if(parametry)then
parametry=mw.ustring.gsub(parametry,"[%s_]*=[%s_]*","=") or nil;
parametry=mw.ustring.gsub(parametry,"[%s_]*&[%s_]*","&") or nil;
end;
return parametry;
else
local bez_naglowka=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^([^#]-)#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=bez_naglowka;end;
local parametry=mw.ustring.match(bez_naglowka,"^.-%?*%?([^&]+=[^&]-.-)%s*$");
return parametry;
end;
end;
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
if(czy_naprawiaj)then
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^[%s_]*([^#]-)[%s_]*#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=nazwa_jednostki;end;
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.-%?*)[%s_]*%?[^&]+=[^&]*.*$","%1");
else
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^([^#]-)#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=nazwa_jednostki;end;
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.-%?*)%?[^&]+=[^&]*.*$","%1");
end;
local strony_modul=require("Module:Strony");
local czy_url=strony_modul.SprawdzanieURL(nazwa_jednostki);
czy_url=czy_url and true or (not czy_naprawiaj);
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",[3]=czy_url and true or false,};
return nazwa_jednostki;
end;
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local parametry_strony=PobierzParametr("parametry") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(parametry_modul.CzyTak(parametry_strony))then
local nazwa_strony_linku;
if(czy_naprawiaj)then
if(mw.ustring.match(parametry_strony,"^[%s_]*title[%s_]*=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"^[%s_]*title[%s_]*=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"^[%s_]*title[%s_]*=([^&]+)&?","");
elseif(mw.ustring.match(parametry_strony,"&[%s_]*title[%s_]*=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"&[%s_]*title[%s_]*=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"&[%s_]*title[%s_]*=([^&]+).*$","");
end;
else
if(mw.ustring.match(parametry_strony,"^title=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"^title=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"^title=([^&]+)&?","");
elseif(mw.ustring.match(parametry_strony,"&title=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"&title=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"&title=([^&]+).*$","");
end;
end;
nazwa_strony_linku=parametry_modul["Odstępy"]{[1]=nazwa_strony_linku,[2]="tak",[3]=(not czy_naprawiaj),};
return nazwa_strony_linku,parametry_strony;
else
return nil;
end;
end;
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
local tabela_nazw_adresu=tabela_nazw_adresu or {};
local adres=p["NazwaStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
local parametry_strony=p["ParametryStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
local naglowek_strony=p["NagłówekStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
nazwa_jednostki=adres..(parametry_strony and ("?"..parametry_strony) or "")..(naglowek_strony and ("#"..naglowek_strony) or "");
return nazwa_jednostki;
end;
function p.URLStrona(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local url=PobierzParametr("url") or PobierzParametr(1);
local z_ukosnikiem=parametry_modul.CzyTak(PobierzParametr("ukośnik") or PobierzParametr(2));
local serwer,nazwa=mw.ustring.match(url,"^//+([^%s/]+)"..((z_ukosnikiem) and "/+" or "").."(/?.-)$");
return serwer,nazwa;
end;
p["UrlBezProtokołu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local url=PobierzParametr("url") or PobierzParametr(1);
local mail=mw.ustring.match(url,"^.*@([^@]+)$");
if(mail)then
return "//"..mail,"mail",1;
end;
local protokol,strona=mw.ustring.match(url,"^(%a+:)(/+.-)$");
if((protokol)and(strona))then
strona=mw.ustring.gsub(strona,"^(/+)","//");
return strona,protokol,2;
end;
local strona=mw.ustring.match(url,"^:?(/+.-)$");
if(strona)then
strona=mw.ustring.gsub(strona,"^(/+)","//");
return strona,nil,3;
end;
return "//"..url,nil,-1;
end;
function p.DecodeKoduHTMLZnaku(tekst)
local html_dane_modul=mw.loadData("Module:Html/dane");
local kody_literowe_html_i_ich_odpowiedniki_znakowe=html_dane_modul.kody_literowe_html_i_ich_odpowiedniki_znakowe;
-- najpierw nazwane encje
tekst = mw.ustring.gsub(tekst,"(&%a+%;)", kody_literowe_html_i_ich_odpowiedniki_znakowe);
-- encje numeryczne dziesiętne: μ
tekst=mw.ustring.gsub(tekst,"&#(%d+);", function(n)
return mw.ustring.char(tonumber(n))
end);
-- encje numeryczne szesnastkowe: μ
tekst = mw.ustring.gsub(tekst,"&#x(%x+);", function(n)
return mw.ustring.char(tonumber(n, 16))
end);
return tekst;
end;
function p.ZamianaEncodeTekst(tekst)
tekst=mw.uri.encode(mw.uri.decode(tekst,"PATH"),"PATH");
return tekst;
end;
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)
tekst=mw.ustring.gsub(tekst,wzor,function(tekst)
tekst=p.ZamianaEncodeTekst(tekst);
return tekst;
end);
return tekst;
end;
function p.StronaParametryIdentyfikacja(adres)
local ile_w;local ile;
adres,ile_w,ile=p.EncodeHashKoduHtmlTekstu(adres);
local ile1;local ile2;
if(ile_w>0)then
adres,ile1,ile2=p.EncodeTempHashKoduHtmlTekstu(adres);
end;
local strona,naglowek=mw.ustring.match(adres,"^[%s_]*([^#]-)[%s_]*#[%s_]*(.-)[%s_]*$");
if((not strona)or(not naglowek))then
strona=mw.ustring.match(adres,"^[%s_]*(.-)[%s_]*$");
end;
local __strona,parametry=mw.ustring.match(strona,"^(.-%?*)%?([^&=]-=.*)$");
strona=__strona or strona;
if(ile_w>0)then
strona=p.DecodeTempHashKoduHtmlTekstu(strona,ile1,ile2);
parametry=parametry and p.DecodeTempHashKoduHtmlTekstu(parametry,ile1,ile2) or nil;
naglowek=naglowek and p.DecodeTempHashKoduHtmlTekstu(naglowek,ile1,ile2) or nil;
end;
return strona,parametry,naglowek,ile;
end;
function p.TworzenieAdresuHtml(strona,parametry,naglowek,ile)
local adres=strona..(parametry and ("?"..parametry) or "")..((naglowek)and ("#"..naglowek) or "");
adres=p.DecodeHashKoduHtmlTekstu(adres,ile);
return adres;
end;
function p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,funkcja_parametry,funkcja_naglowek)
local strona,parametry,naglowek,ile=p.StronaParametryIdentyfikacja(adres);
strona=funkcja_strona and funkcja_strona(strona) or strona;
parametry=(parametry and funkcja_parametry) and funkcja_parametry(parametry) or parametry;
naglowek=(naglowek and funkcja_naglowek) and funkcja_naglowek(naglowek) or naglowek;
local adres=p.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
return adres;
end;
function p.ParametryEncodeURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)
local function ParametryEncodeURL(a,b,c)
return a..p.ZamianaEncodeTekst(b).."="..p.ZamianaEncodeTekst(c);
end;
local function OperacjeHtml(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]*)=([^&]*)",ParametryEncodeURL);
adres=mw.ustring.gsub(adres,"(&)([^&=]*)=([^&]*)",ParametryEncodeURL);
return adres;
end;
if(not w_adresie)then
return OperacjeHtml(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeHtml,funkcja_naglowek);
end;
end;
function p.ParametryZaawansowanyEncodeURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)
function ParametryZaawansowanyEncodeURL(a,b,c)
b=mw.uri.decode(b,"PATH");b=p.EncodeSpecjalneZnakiHtml(b);b=mw.uri.encode(b,"PATH");
c=mw.uri.decode(c,"PATH");c=p.EncodeSpecjalneZnakiHtml(c);c=mw.uri.encode(c,"PATH");
return a..(b.."="..c);
end;
local function OperacjeURL(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]*)=([^&]*)",ParametryZaawansowanyEncodeURL);
adres=mw.ustring.gsub(adres,"(&)([^&=]*)=([^&]*)",ParametryZaawansowanyEncodeURL);
return adres;
end;
if(not w_adresie)then
return OperacjeURL(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeURL,funkcja_naglowek);
end;
end;
function p.EncodeParametryHtml(parametr,w_adresie,funkcja_strona,funkcja_naglowek)
local EncodeHtmlAB=function(a,b,c)
b=p.EncodeHtml(b);c=p.EncodeHtml(c);
return a..b.."="..c;
end;
local function ParametryHtml(parametr)
parametr=mw.ustring.gsub(parametr,"^(%??)([^&=]*)=([^&]*)",EncodeHtmlAB);
parametr=mw.ustring.gsub(parametr,"(&)([^&=]*)=([^&]*)",EncodeHtmlAB);
return parametr;
end;
if(not w_adresie)then
return ParametryHtml(parametr);
else
return p.TworzenieStronaParametryIdentyfikacja(parametr,funkcja_strona,ParametryHtml,funkcja_naglowek);
end;
end;
function p.EncodeZaawansowanyParametryHtml(adres,z_kodowaniem,w_adresie,funkcja_strona,funkcja_naglowek)
local KrokEncodeZaawansowanyParametryHtmlABC=function(a)
a=mw.uri.decode(a,"PATH");
a=p.EncodePodstawoweHtmlTekstu(a);
if(z_kodowaniem)then a=mw.uri.encode(a,"PATH");end;
return a;
end;
local EncodeZaawansowanyParametryHtmlABC=function(a,b,c)
b=KrokEncodeZaawansowanyParametryHtmlABC(b);
c=KrokEncodeZaawansowanyParametryHtmlABC(c);
return (a or "")..(b.."="..c);
end;
local function OperacjeParametryHtmlABC(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]-)=([^&]*)",EncodeZaawansowanyParametryHtmlABC);
adres=mw.ustring.gsub(adres,"([&])([^&=]-)=([^&]*)",EncodeZaawansowanyParametryHtmlABC);
return adres;
end;
if(not w_adresie)then
return OperacjeParametryHtmlABC(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeParametryHtmlABC,funkcja_naglowek);
end;
end;
function p.EncodeHashKoduHtmlTekstu(tekst)
local ile;local ile2=0;
tekst,ile=mw.ustring.gsub(tekst,"&([^&;%s]);",function(kod)
if((kod=="num")or(kod=="#35")or(kod=="#x23"))then
ile2=ile2+1;
return "&num;";
end;
return nil;
end);
return tekst,ile,ile2;
end;
function p.DecodeHashKoduHtmlTekstu(tekst,ile)
if(((ile)and(ile>0))or(not ile))then
tekst=mw.ustring.gsub(tekst,"#",function(kod)
return "#";
end);
end;
return tekst;
end;
function p.EncodeTempHashKoduHtmlTekstu(tekst)
local ile1;local ile2;
tekst,ile1=mw.ustring.gsub(tekst,"&#(%d+);",function(kod)
return "&#"..kod..";";
end);
tekst,ile2=mw.ustring.gsub(tekst,"&#x(%x+);",function(kod)
return "&#x"..kod..";";
end);
return tekst,ile1,ile2;
end;
function p.DecodeTempHashKoduHtmlTekstu(tekst,ile1,ile2)
if(((ile1)and(ile1>0))or(not ile1))then
tekst=mw.ustring.gsub(tekst,"&#(%d+);",function(kod)
return "&#"..kod..";"
end);
end;
if(((ile2)and(ile2>0))or(not ile2))then
tekst=mw.ustring.gsub(tekst,"&#x(%x+);",function(kod)
return "&#x"..kod..";"
end);
end;
return tekst;
end;
function p.AdresBezProtokolarnyEncodeURL(adres)
local adres=p.ParametryEncodeURL(adres,true,
function(strona)
strona=p.ZamianaEncodeNaPodstawieWzoruTekstu(strona,"[^/]+");
return strona;
end,
function(naglowek)
naglowek=p.ZamianaEncodeTekst(naglowek);
return naglowek;
end);
return adres;
end;
function p.UriEncode(frame)
local parametry_modul=require("Module:Parametry");
local html=parametry_modul.PobierzParametryRamki(frame)("html");
html=mw.ustring.gsub(html,"^(%a+://)(.+)$",function(prot,strona)
return prot..p.AdresBezProtokolarnyEncodeURL(strona);
end);
return html;
end;
function p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)
local ile;
elementy_adresu_strony,ile=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
if(ile>0)then
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
end;
elementy_adresu_strony=p.EncodeSpecjalneZnakiHtml(elementy_adresu_strony);
return elementy_adresu_strony;
end;
function p.EncodeElementyAdresuStrony(elementy_adresu_strony,czy_parametry_strony,z_kodowaniem)
if(czy_parametry_strony)then
elementy_adresu_strony=p.EncodeZaawansowanyParametryHtml(elementy_adresu_strony,z_kodowaniem);
else
elementy_adresu_strony=mw.uri.decode(elementy_adresu_strony,"PATH");
elementy_adresu_strony=p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony);
if(z_kodowaniem)then elementy_adresu_strony=mw.uri.encode(elementy_adresu_strony,"PATH");end;
end;
return elementy_adresu_strony;
end;
function p.AdresProjektuEncodeHtml(frame,z_kodowaniem)
local parametry_modul=require("Module:Parametry")
local PobierzParametry=parametry_modul.PobierzParametryRamki(frame);
local html=PobierzParametry("html");
local z_kodowaniem_html=PobierzParametry("encode");
if(z_kodowaniem_html)then z_kodowaniem=parametry_modul.CzyTak(z_kodowaniem_html);end;
local html=p.EncodeZaawansowanyParametryHtml(html,z_kodowaniem,true,
function(strona)
strona=p.EncodePodstawoweHtmlTekstu(mw.uri.decode(strona,"PATH"));
if(z_kodowaniem)then strona=mw.uri.encode(strona,"PATH");end;
return strona;
end,
function(naglowek)
naglowek=p.EncodePodstawoweHtmlTekstu(mw.uri.decode(naglowek,"PATH"));
if(z_kodowaniem)then naglowek=mw.uri.encode(naglowek,"PATH") end;
return naglowek;
end);
return html;
end;
return p;
s50fqqdwgj8dqevdhlybd7zuk907kwr
540109
540076
2026-04-19T10:47:31Z
Persino
2851
540109
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
tekst=mw.ustring.gsub(tekst,"([%|%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return tekst;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
tekst=mw.ustring.gsub(tekst,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
tekst=mw.ustring.gsub(tekst,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return tekst;
end;
function p.ZnakiSpecjalneTaguNowiki(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([%!{}|=<>%[%]])",tab_nawiasy);
return tekst;
end;
function p.ZnakiSpecjalneWikiLinku(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([{}|<>%[%]])",tab_nawiasy);
return tekst;
end;
function p.EncodeSpecjalneZnakiHtml(frame)
local parametry_modul=require("Module:Parametry");
local html=parametry_modul.PobierzParametryRamki(frame)("html");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
html=mw.ustring.gsub(html,"([{}|<>%[%]#=%?&])",tab_nawiasy);
return html;
end;
function p.EncodeZnakProloguList(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
local lista_znaki="%#%*%;%:";
tekst=mw.ustring.gsub(tekst,"^\n?(["..lista_znaki.."])",tab_nawiasy);
tekst=mw.ustring.gsub(tekst,"\n(["..lista_znaki.."])",function(znak)
return "\n"..(tab_nawiasy[znak] or znak);
end);
return tekst;
end;
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([=%?&])",tabela_nawiasowa);
return tekst;
end;
function p.PrzypisanieZnakoweEncodeHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([=])",tabela_nawiasowa);
return tekst;
end;
function p.ZamianaDwukropkaNaKodHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([:])",tabela_nawiasowa);
return tekst;
end;
function p.KodHTMLZnaku(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local znak=PobierzParametr(1);
if(not parametry_modul.CzyTak(znak))then return "(błąd)";end;
local czy_kod_znaku=PobierzParametr(2);
local czy_tak=parametry_modul["CzyTakCiąg"](czy_kod_znaku);
local ZnakFun=function(znak)
if(#znak>1)then
return mw.ustring.codepoint(znak);
else
return mw.ustring.byte(znak);
end;
end;
if(czy_tak)then
return "&#"..tostring(ZnakFun(znak))..";";
else
return "&#"..tostring(ZnakFun(znak))..";";
end;
end;
p["KodyHTMLZnakówWikiCiągu"] = function (frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local ciag_znakow=PobierzParametr(1);
if(not parametry_modul.CzyTak(ciag_znakow))then return "(błąd)";end;
local czy_kod_znaku=PobierzParametr(2);
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_znakowo_kodowa={};
local tabela_znakowa=html_dane_modul.tabela_znakowa;
local ciag,_=mw.ustring.gsub(ciag_znakow,"(.)",function(znak)
if(tabela_znakowa[znak])then
if(not czy_kod_znaku)then
return "&#"..tabela_znakowa[znak]..";";
else
return "&#"..tabela_znakowa[znak]..";";
end;
end;
return nil;
end);
return ciag;
end;
function p.EncodeId(id,bez_transformacji)
id=(not bez_transformacji) and p.DecodeHtml(id,true) or id;
local id=p.EncodeSpecjalneZnakiHtml(id);
return id;
end;
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)
parametr=mw.ustring.gsub(parametr,"","");
return parametr;
end;
function p.EncodeWiki(parametr,czy_nie_odstepy)
parametr=p["TransformacjaKoduHtmlDoZnakuCiągu"](parametr);
parametr=p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr);
local parametry_modul=require("Module:Parametry");
if(not czy_nie_odstepy)then
parametr=parametry_modul["Odstępy"]{[1]=parametr,[2]="tak",[3]="tak",};
end;
parametr=mw.text.encode(parametr);
return parametr;
end;
function p.DecodeWiki(parametr,czy_nie_odstepy)
parametr=mw.text.decode(parametr);
parametr=p["TransformacjaKoduHtmlDoZnakuCiągu"](parametr);
parametr=p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr);
if(not czy_nie_odstepy)then
local parametry_modul=require("Module:Parametry");
parametr=parametry_modul["Odstępy"]{[1]=parametr,[2]="tak",};
end;
return parametr;
end;
function p.IsEncodedHtml(parametr,encode,encode_real)
local parametry_modul=require("Module:Parametry");
local spr_parametr_szereg=nil;
local TempFunParametr=function(parametr)
if(parametry_modul.TypeNil(spr_parametr_szereg))then
local __spr_parametr_szereg=mw.ustring.match(parametr,"^[%w%p%s]*$");
spr_parametr_szereg=__spr_parametr_szereg and true or false;
return spr_parametr_szereg;
end;
return spr_parametr_szereg;
end;
local spr_parametr_bez_procentu=nil;
local TempFunBezProcentu=function(parametr)
if(parametry_modul.TypeNil(spr_parametr_bez_procentu))then
local __spr_parametr_bez_procentu=mw.ustring.match(parametr,"^[^%%]*$");
spr_parametr_bez_procentu=__spr_parametr_bez_procentu and true or false;
return spr_parametr_bez_procentu;
end;
return spr_parametr_bez_procentu;
end;
local wynik=((encode_real)and(TempFunParametr(parametr)and(TempFunBezProcentu(parametr))))
or((encode)and(TempFunBezProcentu(parametr)))
or(((not encode_real)or((encode_real)and(TempFunParametr(parametr))))
and(mw.ustring.match(parametr,"%%%x%x"))
and(not mw.ustring.match(parametr,"%%$"))
and(not mw.ustring.match(parametr,"%%.$"))
and(not mw.ustring.match(parametr,"%%[^%x]."))
and(not mw.ustring.match(parametr,"%%.[^%x]")));
return wynik and true or false;
end;
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)
if(not parametr)then return;end;
if(p.IsEncodedHtml(parametr,encode,encode_real))then
return p.EncodeWiki(parametr,czy_nie_odstepy);
end;
return mw.uri.encode(parametr,"WIKI");
end;
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)
if(not parametr)then return;end;
if(p.IsEncodedHtml(parametr,encode,encode_real))then
if(spacje)then
return p.DecodeWiki(mw.uri.decode(parametr,"WIKI"));
else
return p.EncodeWiki(mw.uri.decode(parametr,"WIKI"));
end;
end;
if(spacje)then
return p.DecodeWiki(parametr,czy_nie_odstepy);
else
return p.EncodeWiki(parametr,czy_nie_odstepy);
end;
end;
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)
znacznik=mw.ustring.gsub(znacznik,"([\"'])(.-[^\\])(%1)",function(cudzyslow_otwierajacy,atrybut,cudzyslow_zamykajacy)
local ile1;local ile2;
atrybut,ile1=mw.ustring.gsub(atrybut,"([<>&])",function(a)
return mw.text.encode(a);
end);
atrybut,ile2=mw.ustring.gsub(atrybut,"(\\\")",function(a)
return p["KodyHTMLZnakówWikiCiągu"](a);
end);
if(ile1+ile2>0)then
return cudzyslow_otwierajacy..atrybut..cudzyslow_zamykajacy;
end;
return nil;
end);
return znacznik;
end;
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)
value=mw.ustring.gsub(value,"(&)(%a+)(;)",function(amp,kod_html,srednik)
kod_html=mw.ustring.lower(kod_html);
if((kod_html=="lt")or(kod_html=="gt")or(kod_html=="amp"))then
return mw.text.decode(amp..kod_html..srednik);
end;
return nil;
end);
local lewy_ukosnik=mw.ustring.byte("\\");
local cudzyslow=mw.ustring.byte("\"");
value=mw.ustring.gsub(value,"(&#"..lewy_ukosnik..";&#"..cudzyslow..";)","\\\"");
return value;
end;
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_nie_dolne_myslniki=PobierzParametr("z nie dolnymi z myślnikami") or PobierzParametr(2) or czy_nie_dolne_myslniki;
czy_nie_dolne_myslniki=parametry_modul.CzyTak(czy_nie_dolne_myslniki);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
local naglowek=czy_nie_dolne_myslniki and mw.ustring.match(nazwa_jednostki,"^[^#]*#[%s_]*(.-)[%s_]*$") or mw.ustring.match(nazwa_jednostki,"^[^#]*#(.-)%s*$");
naglowek=parametry_modul["Odstępy"]{[1]=naglowek,[2]="tak",[3]=((not czy_nie_dolne_myslniki)and "tak" or nil),};
return naglowek;
end;
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
if(czy_naprawiaj)then
local bez_naglowka=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^[%s_]*([^#]-)[%s_]*#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=bez_naglowka;end;
local parametry=mw.ustring.match(bez_naglowka,"^.-%?*%?[%s_]*([^&]+=[^&]-.-)[%s_]*$");
if(parametry)then
parametry=mw.ustring.gsub(parametry,"[%s_]*=[%s_]*","=") or nil;
parametry=mw.ustring.gsub(parametry,"[%s_]*&[%s_]*","&") or nil;
end;
return parametry;
else
local bez_naglowka=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^([^#]-)#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=bez_naglowka;end;
local parametry=mw.ustring.match(bez_naglowka,"^.-%?*%?([^&]+=[^&]-.-)%s*$");
return parametry;
end;
end;
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
if(czy_naprawiaj)then
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^[%s_]*([^#]-)[%s_]*#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=nazwa_jednostki;end;
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.-%?*)[%s_]*%?[^&]+=[^&]*.*$","%1");
else
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^([^#]-)#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=nazwa_jednostki;end;
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.-%?*)%?[^&]+=[^&]*.*$","%1");
end;
local strony_modul=require("Module:Strony");
local czy_url=strony_modul.SprawdzanieURL(nazwa_jednostki);
czy_url=czy_url and true or (not czy_naprawiaj);
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",[3]=czy_url and true or false,};
return nazwa_jednostki;
end;
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local parametry_strony=PobierzParametr("parametry") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(parametry_modul.CzyTak(parametry_strony))then
local nazwa_strony_linku;
if(czy_naprawiaj)then
if(mw.ustring.match(parametry_strony,"^[%s_]*title[%s_]*=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"^[%s_]*title[%s_]*=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"^[%s_]*title[%s_]*=([^&]+)&?","");
elseif(mw.ustring.match(parametry_strony,"&[%s_]*title[%s_]*=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"&[%s_]*title[%s_]*=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"&[%s_]*title[%s_]*=([^&]+).*$","");
end;
else
if(mw.ustring.match(parametry_strony,"^title=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"^title=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"^title=([^&]+)&?","");
elseif(mw.ustring.match(parametry_strony,"&title=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"&title=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"&title=([^&]+).*$","");
end;
end;
nazwa_strony_linku=parametry_modul["Odstępy"]{[1]=nazwa_strony_linku,[2]="tak",[3]=(not czy_naprawiaj),};
return nazwa_strony_linku,parametry_strony;
else
return nil;
end;
end;
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
local tabela_nazw_adresu=tabela_nazw_adresu or {};
local adres=p["NazwaStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
local parametry_strony=p["ParametryStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
local naglowek_strony=p["NagłówekStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
nazwa_jednostki=adres..(parametry_strony and ("?"..parametry_strony) or "")..(naglowek_strony and ("#"..naglowek_strony) or "");
return nazwa_jednostki;
end;
function p.URLStrona(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local url=PobierzParametr("url") or PobierzParametr(1);
local z_ukosnikiem=parametry_modul.CzyTak(PobierzParametr("ukośnik") or PobierzParametr(2));
local serwer,nazwa=mw.ustring.match(url,"^//+([^%s/]+)"..((z_ukosnikiem) and "/+" or "").."(/?.-)$");
return serwer,nazwa;
end;
p["UrlBezProtokołu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local url=PobierzParametr("url") or PobierzParametr(1);
local mail=mw.ustring.match(url,"^.*@([^@]+)$");
if(mail)then
return "//"..mail,"mail",1;
end;
local protokol,strona=mw.ustring.match(url,"^(%a+:)(/+.-)$");
if((protokol)and(strona))then
strona=mw.ustring.gsub(strona,"^(/+)","//");
return strona,protokol,2;
end;
local strona=mw.ustring.match(url,"^:?(/+.-)$");
if(strona)then
strona=mw.ustring.gsub(strona,"^(/+)","//");
return strona,nil,3;
end;
return "//"..url,nil,-1;
end;
function p.DecodeKoduHTMLZnaku(tekst)
local html_dane_modul=mw.loadData("Module:Html/dane");
local kody_literowe_html_i_ich_odpowiedniki_znakowe=html_dane_modul.kody_literowe_html_i_ich_odpowiedniki_znakowe;
-- najpierw nazwane encje
tekst = mw.ustring.gsub(tekst,"(&%a+%;)", kody_literowe_html_i_ich_odpowiedniki_znakowe);
-- encje numeryczne dziesiętne: μ
tekst=mw.ustring.gsub(tekst,"&#(%d+);", function(n)
return mw.ustring.char(tonumber(n))
end);
-- encje numeryczne szesnastkowe: μ
tekst = mw.ustring.gsub(tekst,"&#x(%x+);", function(n)
return mw.ustring.char(tonumber(n, 16))
end);
return tekst;
end;
function p.ZamianaEncodeTekst(tekst)
tekst=mw.uri.encode(mw.uri.decode(tekst,"PATH"),"PATH");
return tekst;
end;
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)
tekst=mw.ustring.gsub(tekst,wzor,function(tekst)
tekst=p.ZamianaEncodeTekst(tekst);
return tekst;
end);
return tekst;
end;
function p.StronaParametryIdentyfikacja(adres)
local ile_w;local ile;
adres,ile_w,ile=p.EncodeHashKoduHtmlTekstu(adres);
local ile1;local ile2;
if(ile_w>0)then
adres,ile1,ile2=p.EncodeTempHashKoduHtmlTekstu(adres);
end;
local strona,naglowek=mw.ustring.match(adres,"^[%s_]*([^#]-)[%s_]*#[%s_]*(.-)[%s_]*$");
if((not strona)or(not naglowek))then
strona=mw.ustring.match(adres,"^[%s_]*(.-)[%s_]*$");
end;
local __strona,parametry=mw.ustring.match(strona,"^(.-%?*)%?([^&=]-=.*)$");
strona=__strona or strona;
if(ile_w>0)then
strona=p.DecodeTempHashKoduHtmlTekstu(strona,ile1,ile2);
parametry=parametry and p.DecodeTempHashKoduHtmlTekstu(parametry,ile1,ile2) or nil;
naglowek=naglowek and p.DecodeTempHashKoduHtmlTekstu(naglowek,ile1,ile2) or nil;
end;
return strona,parametry,naglowek,ile;
end;
function p.TworzenieAdresuHtml(strona,parametry,naglowek,ile)
local adres=strona..(parametry and ("?"..parametry) or "")..((naglowek)and ("#"..naglowek) or "");
adres=p.DecodeHashKoduHtmlTekstu(adres,ile);
return adres;
end;
function p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,funkcja_parametry,funkcja_naglowek)
local strona,parametry,naglowek,ile=p.StronaParametryIdentyfikacja(adres);
strona=funkcja_strona and funkcja_strona(strona) or strona;
parametry=(parametry and funkcja_parametry) and funkcja_parametry(parametry) or parametry;
naglowek=(naglowek and funkcja_naglowek) and funkcja_naglowek(naglowek) or naglowek;
local adres=p.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
return adres;
end;
function p.ParametryEncodeURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)
local function ParametryEncodeURL(a,b,c)
return a..p.ZamianaEncodeTekst(b).."="..p.ZamianaEncodeTekst(c);
end;
local function OperacjeHtml(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]*)=([^&]*)",ParametryEncodeURL);
adres=mw.ustring.gsub(adres,"(&)([^&=]*)=([^&]*)",ParametryEncodeURL);
return adres;
end;
if(not w_adresie)then
return OperacjeHtml(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeHtml,funkcja_naglowek);
end;
end;
function p.ParametryZaawansowanyEncodeURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)
function ParametryZaawansowanyEncodeURL(a,b,c)
b=mw.uri.decode(b,"PATH");b=p.EncodeSpecjalneZnakiHtml(b);b=mw.uri.encode(b,"PATH");
c=mw.uri.decode(c,"PATH");c=p.EncodeSpecjalneZnakiHtml(c);c=mw.uri.encode(c,"PATH");
return a..(b.."="..c);
end;
local function OperacjeURL(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]*)=([^&]*)",ParametryZaawansowanyEncodeURL);
adres=mw.ustring.gsub(adres,"(&)([^&=]*)=([^&]*)",ParametryZaawansowanyEncodeURL);
return adres;
end;
if(not w_adresie)then
return OperacjeURL(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeURL,funkcja_naglowek);
end;
end;
function p.EncodeParametryHtml(parametr,w_adresie,funkcja_strona,funkcja_naglowek)
local EncodeHtmlAB=function(a,b,c)
b=p.EncodeHtml(b);c=p.EncodeHtml(c);
return a..b.."="..c;
end;
local function ParametryHtml(parametr)
parametr=mw.ustring.gsub(parametr,"^(%??)([^&=]*)=([^&]*)",EncodeHtmlAB);
parametr=mw.ustring.gsub(parametr,"(&)([^&=]*)=([^&]*)",EncodeHtmlAB);
return parametr;
end;
if(not w_adresie)then
return ParametryHtml(parametr);
else
return p.TworzenieStronaParametryIdentyfikacja(parametr,funkcja_strona,ParametryHtml,funkcja_naglowek);
end;
end;
function p.EncodeZaawansowanyParametryHtml(adres,z_kodowaniem,w_adresie,funkcja_strona,funkcja_naglowek)
local KrokEncodeZaawansowanyParametryHtmlABC=function(a)
a=mw.uri.decode(a,"PATH");
a=p.EncodePodstawoweHtmlTekstu(a);
if(z_kodowaniem)then a=mw.uri.encode(a,"PATH");end;
return a;
end;
local EncodeZaawansowanyParametryHtmlABC=function(a,b,c)
b=KrokEncodeZaawansowanyParametryHtmlABC(b);
c=KrokEncodeZaawansowanyParametryHtmlABC(c);
return (a or "")..(b.."="..c);
end;
local function OperacjeParametryHtmlABC(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]-)=([^&]*)",EncodeZaawansowanyParametryHtmlABC);
adres=mw.ustring.gsub(adres,"([&])([^&=]-)=([^&]*)",EncodeZaawansowanyParametryHtmlABC);
return adres;
end;
if(not w_adresie)then
return OperacjeParametryHtmlABC(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeParametryHtmlABC,funkcja_naglowek);
end;
end;
function p.EncodeHashKoduHtmlTekstu(tekst)
local ile;local ile2=0;
tekst,ile=mw.ustring.gsub(tekst,"&([^&;%s]+);",function(kod)
if((kod=="num")or(kod=="#35")or(kod=="#x23"))then
ile2=ile2+1;
return "&num;";
end;
return nil;
end);
return tekst,ile,ile2;
end;
function p.DecodeHashKoduHtmlTekstu(tekst,ile)
if(((ile)and(ile>0))or(not ile))then
tekst=mw.ustring.gsub(tekst,"#",function(kod)
return "#";
end);
end;
return tekst;
end;
function p.EncodeTempHashKoduHtmlTekstu(tekst)
local ile1;local ile2;
tekst,ile1=mw.ustring.gsub(tekst,"&#(%d+);",function(kod)
return "&#"..kod..";";
end);
tekst,ile2=mw.ustring.gsub(tekst,"&#x(%x+);",function(kod)
return "&#x"..kod..";";
end);
return tekst,ile1,ile2;
end;
function p.DecodeTempHashKoduHtmlTekstu(tekst,ile1,ile2)
if(((ile1)and(ile1>0))or(not ile1))then
tekst=mw.ustring.gsub(tekst,"&#(%d+);",function(kod)
return "&#"..kod..";"
end);
end;
if(((ile2)and(ile2>0))or(not ile2))then
tekst=mw.ustring.gsub(tekst,"&#x(%x+);",function(kod)
return "&#x"..kod..";"
end);
end;
return tekst;
end;
function p.AdresBezProtokolarnyEncodeURL(adres)
local adres=p.ParametryEncodeURL(adres,true,
function(strona)
strona=p.ZamianaEncodeNaPodstawieWzoruTekstu(strona,"[^/]+");
return strona;
end,
function(naglowek)
naglowek=p.ZamianaEncodeTekst(naglowek);
return naglowek;
end);
return adres;
end;
function p.UriEncode(frame)
local parametry_modul=require("Module:Parametry");
local html=parametry_modul.PobierzParametryRamki(frame)("html");
html=mw.ustring.gsub(html,"^(%a+://)(.+)$",function(prot,strona)
return prot..p.AdresBezProtokolarnyEncodeURL(strona);
end);
return html;
end;
function p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)
local ile;
elementy_adresu_strony,ile=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
if(ile>0)then
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
end;
elementy_adresu_strony=p.EncodeSpecjalneZnakiHtml(elementy_adresu_strony);
return elementy_adresu_strony;
end;
function p.EncodeElementyAdresuStrony(elementy_adresu_strony,czy_parametry_strony,z_kodowaniem)
if(czy_parametry_strony)then
elementy_adresu_strony=p.EncodeZaawansowanyParametryHtml(elementy_adresu_strony,z_kodowaniem);
else
elementy_adresu_strony=mw.uri.decode(elementy_adresu_strony,"PATH");
elementy_adresu_strony=p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony);
if(z_kodowaniem)then elementy_adresu_strony=mw.uri.encode(elementy_adresu_strony,"PATH");end;
end;
return elementy_adresu_strony;
end;
function p.AdresProjektuEncodeHtml(frame,z_kodowaniem)
local parametry_modul=require("Module:Parametry")
local PobierzParametry=parametry_modul.PobierzParametryRamki(frame);
local html=PobierzParametry("html");
local z_kodowaniem_html=PobierzParametry("encode");
if(z_kodowaniem_html)then z_kodowaniem=parametry_modul.CzyTak(z_kodowaniem_html);end;
local html=p.EncodeZaawansowanyParametryHtml(html,z_kodowaniem,true,
function(strona)
strona=p.EncodePodstawoweHtmlTekstu(mw.uri.decode(strona,"PATH"));
if(z_kodowaniem)then strona=mw.uri.encode(strona,"PATH");end;
return strona;
end,
function(naglowek)
naglowek=p.EncodePodstawoweHtmlTekstu(mw.uri.decode(naglowek,"PATH"));
if(z_kodowaniem)then naglowek=mw.uri.encode(naglowek,"PATH") end;
return naglowek;
end);
return html;
end;
return p;
os9t6zbh0bpx4931kmbnsop93x3wnef
540116
540109
2026-04-19T11:43:53Z
Persino
2851
540116
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
tekst=mw.ustring.gsub(tekst,"([%|%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return tekst;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
tekst=mw.ustring.gsub(tekst,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
tekst=mw.ustring.gsub(tekst,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return tekst;
end;
function p.ZnakiSpecjalneTaguNowiki(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([%!{}|=<>%[%]])",tab_nawiasy);
return tekst;
end;
function p.ZnakiSpecjalneWikiLinku(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([{}|<>%[%]])",tab_nawiasy);
return tekst;
end;
function p.EncodeSpecjalneZnakiHtml(frame)
local parametry_modul=require("Module:Parametry");
local html=parametry_modul.PobierzParametryRamki(frame)("html");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
html=mw.ustring.gsub(html,"([{}|<>%[%]#=%?&])",tab_nawiasy);
return html;
end;
function p.EncodeZnakProloguList(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
local lista_znaki="%#%*%;%:";
tekst=mw.ustring.gsub(tekst,"^\n?(["..lista_znaki.."])",tab_nawiasy);
tekst=mw.ustring.gsub(tekst,"\n(["..lista_znaki.."])",function(znak)
return "\n"..(tab_nawiasy[znak] or znak);
end);
return tekst;
end;
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([=%?&])",tabela_nawiasowa);
return tekst;
end;
function p.PrzypisanieZnakoweEncodeHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([=])",tabela_nawiasowa);
return tekst;
end;
function p.ZamianaDwukropkaNaKodHtml(frame)
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
local html_dane_modul=mw.loadData("Module:Html/dane");
local tabela_nawiasowa=html_dane_modul.tabela_nawiasowa;
tekst=mw.ustring.gsub(tekst,"([:])",tabela_nawiasowa);
return tekst;
end;
function p.KodHTMLZnaku(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local znak=PobierzParametr(1);
if(not parametry_modul.CzyTak(znak))then return "(błąd)";end;
local czy_kod_znaku=PobierzParametr(2);
local czy_tak=parametry_modul["CzyTakCiąg"](czy_kod_znaku);
local ZnakFun=function(znak)
if(#znak>1)then
return mw.ustring.codepoint(znak);
else
return mw.ustring.byte(znak);
end;
end;
if(czy_tak)then
return "&#"..tostring(ZnakFun(znak))..";";
else
return "&#"..tostring(ZnakFun(znak))..";";
end;
end;
p["KodyHTMLZnakówWikiCiągu"] = function (frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local ciag_znakow=PobierzParametr(1);
if(not parametry_modul.CzyTak(ciag_znakow))then return "(błąd)";end;
local czy_kod_znaku=PobierzParametr(2);
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_znakowo_kodowa={};
local tabela_znakowa=html_dane_modul.tabela_znakowa;
local ciag,_=mw.ustring.gsub(ciag_znakow,"(.)",function(znak)
if(tabela_znakowa[znak])then
if(not czy_kod_znaku)then
return "&#"..tabela_znakowa[znak]..";";
else
return "&#"..tabela_znakowa[znak]..";";
end;
end;
return nil;
end);
return ciag;
end;
function p.EncodeId(id,bez_transformacji)
id=(not bez_transformacji) and p.DecodeHtml(id,true) or id;
local id=p.EncodeSpecjalneZnakiHtml(id);
return id;
end;
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)
parametr=mw.ustring.gsub(parametr,"","");
return parametr;
end;
function p.EncodeWiki(parametr,czy_nie_odstepy)
parametr=p["TransformacjaKoduHtmlDoZnakuCiągu"](parametr);
parametr=p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr);
local parametry_modul=require("Module:Parametry");
if(not czy_nie_odstepy)then
parametr=parametry_modul["Odstępy"]{[1]=parametr,[2]="tak",[3]="tak",};
end;
parametr=mw.text.encode(parametr);
return parametr;
end;
function p.DecodeWiki(parametr,czy_nie_odstepy)
parametr=mw.text.decode(parametr);
parametr=p["TransformacjaKoduHtmlDoZnakuCiągu"](parametr);
parametr=p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr);
if(not czy_nie_odstepy)then
local parametry_modul=require("Module:Parametry");
parametr=parametry_modul["Odstępy"]{[1]=parametr,[2]="tak",};
end;
return parametr;
end;
function p.IsEncodedHtml(parametr,encode,encode_real)
local parametry_modul=require("Module:Parametry");
local spr_parametr_szereg=nil;
local TempFunParametr=function(parametr)
if(parametry_modul.TypeNil(spr_parametr_szereg))then
local __spr_parametr_szereg=mw.ustring.match(parametr,"^[%w%p%s]*$");
spr_parametr_szereg=__spr_parametr_szereg and true or false;
return spr_parametr_szereg;
end;
return spr_parametr_szereg;
end;
local spr_parametr_bez_procentu=nil;
local TempFunBezProcentu=function(parametr)
if(parametry_modul.TypeNil(spr_parametr_bez_procentu))then
local __spr_parametr_bez_procentu=mw.ustring.match(parametr,"^[^%%]*$");
spr_parametr_bez_procentu=__spr_parametr_bez_procentu and true or false;
return spr_parametr_bez_procentu;
end;
return spr_parametr_bez_procentu;
end;
local wynik=((encode_real)and(TempFunParametr(parametr)and(TempFunBezProcentu(parametr))))
or((encode)and(TempFunBezProcentu(parametr)))
or(((not encode_real)or((encode_real)and(TempFunParametr(parametr))))
and(mw.ustring.match(parametr,"%%%x%x"))
and(not mw.ustring.match(parametr,"%%$"))
and(not mw.ustring.match(parametr,"%%.$"))
and(not mw.ustring.match(parametr,"%%[^%x]."))
and(not mw.ustring.match(parametr,"%%.[^%x]")));
return wynik and true or false;
end;
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)
if(not parametr)then return;end;
if(p.IsEncodedHtml(parametr,encode,encode_real))then
return p.EncodeWiki(parametr,czy_nie_odstepy);
end;
return mw.uri.encode(parametr,"WIKI");
end;
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)
if(not parametr)then return;end;
if(p.IsEncodedHtml(parametr,encode,encode_real))then
if(spacje)then
return p.DecodeWiki(mw.uri.decode(parametr,"WIKI"));
else
return p.EncodeWiki(mw.uri.decode(parametr,"WIKI"));
end;
end;
if(spacje)then
return p.DecodeWiki(parametr,czy_nie_odstepy);
else
return p.EncodeWiki(parametr,czy_nie_odstepy);
end;
end;
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)
znacznik=mw.ustring.gsub(znacznik,"([\"'])(.-[^\\])(%1)",function(cudzyslow_otwierajacy,atrybut,cudzyslow_zamykajacy)
local ile1;local ile2;
atrybut,ile1=mw.ustring.gsub(atrybut,"([<>&])",function(a)
return mw.text.encode(a);
end);
atrybut,ile2=mw.ustring.gsub(atrybut,"(\\\")",function(a)
return p["KodyHTMLZnakówWikiCiągu"](a);
end);
if(ile1+ile2>0)then
return cudzyslow_otwierajacy..atrybut..cudzyslow_zamykajacy;
end;
return nil;
end);
return znacznik;
end;
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)
value=mw.ustring.gsub(value,"(&)(%a+)(;)",function(amp,kod_html,srednik)
kod_html=mw.ustring.lower(kod_html);
if((kod_html=="lt")or(kod_html=="gt")or(kod_html=="amp"))then
return mw.text.decode(amp..kod_html..srednik);
end;
return nil;
end);
local lewy_ukosnik=mw.ustring.byte("\\");
local cudzyslow=mw.ustring.byte("\"");
value=mw.ustring.gsub(value,"(&#"..lewy_ukosnik..";&#"..cudzyslow..";)","\\\"");
return value;
end;
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_nie_dolne_myslniki=PobierzParametr("z nie dolnymi z myślnikami") or PobierzParametr(2) or czy_nie_dolne_myslniki;
czy_nie_dolne_myslniki=parametry_modul.CzyTak(czy_nie_dolne_myslniki);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
local naglowek=czy_nie_dolne_myslniki and mw.ustring.match(nazwa_jednostki,"^[^#]*#[%s_]*(.-)[%s_]*$") or mw.ustring.match(nazwa_jednostki,"^[^#]*#(.-)%s*$");
naglowek=parametry_modul["Odstępy"]{[1]=naglowek,[2]="tak",[3]=((not czy_nie_dolne_myslniki)and "tak" or nil),};
return naglowek;
end;
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
if(czy_naprawiaj)then
local bez_naglowka=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^[%s_]*([^#]-)[%s_]*#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=bez_naglowka;end;
local parametry=mw.ustring.match(bez_naglowka,"^.-%?*%?[%s_]*([^&]+=[^&]-.-)[%s_]*$");
if(parametry)then
parametry=mw.ustring.gsub(parametry,"[%s_]*=[%s_]*","=") or nil;
parametry=mw.ustring.gsub(parametry,"[%s_]*&[%s_]*","&") or nil;
end;
return parametry;
else
local bez_naglowka=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^([^#]-)#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=bez_naglowka;end;
local parametry=mw.ustring.match(bez_naglowka,"^.-%?*%?([^&]+=[^&]-.-)%s*$");
return parametry;
end;
end;
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(not nazwa_jednostki)then return;end;
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.nazwa_jednostki or p.DecodeHtml(nazwa_jednostki,true);
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.nazwa_jednostki))then tabela_nazw_adresu.nazwa_jednostki=nazwa_jednostki;end;
if(czy_naprawiaj)then
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^[%s_]*([^#]-)[%s_]*#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=nazwa_jednostki;end;
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.-%?*)[%s_]*%?[^&]+=[^&]*.*$","%1");
else
nazwa_jednostki=tabela_nazw_adresu and tabela_nazw_adresu.bez_naglowka or mw.ustring.gsub(nazwa_jednostki,"^([^#]-)#(.*)$","%1");
if((tabela_nazw_adresu)and(not tabela_nazw_adresu.bez_naglowka))then tabela_nazw_adresu.bez_naglowka=nazwa_jednostki;end;
nazwa_jednostki=mw.ustring.gsub(nazwa_jednostki,"^(.-%?*)%?[^&]+=[^&]*.*$","%1");
end;
local strony_modul=require("Module:Strony");
local czy_url=strony_modul.SprawdzanieURL(nazwa_jednostki);
czy_url=czy_url and true or (not czy_naprawiaj);
nazwa_jednostki=parametry_modul["Odstępy"]{[1]=nazwa_jednostki,[2]="tak",[3]=czy_url and true or false,};
return nazwa_jednostki;
end;
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local parametry_strony=PobierzParametr("parametry") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
if(parametry_modul.CzyTak(parametry_strony))then
local nazwa_strony_linku;
if(czy_naprawiaj)then
if(mw.ustring.match(parametry_strony,"^[%s_]*title[%s_]*=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"^[%s_]*title[%s_]*=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"^[%s_]*title[%s_]*=([^&]+)&?","");
elseif(mw.ustring.match(parametry_strony,"&[%s_]*title[%s_]*=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"&[%s_]*title[%s_]*=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"&[%s_]*title[%s_]*=([^&]+).*$","");
end;
else
if(mw.ustring.match(parametry_strony,"^title=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"^title=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"^title=([^&]+)&?","");
elseif(mw.ustring.match(parametry_strony,"&title=[^&]*"))then
nazwa_strony_linku=mw.ustring.match(parametry_strony,"&title=([^&]+)&?.*$");
parametry_strony=mw.ustring.gsub(parametry_strony,"&title=([^&]+).*$","");
end;
end;
nazwa_strony_linku=parametry_modul["Odstępy"]{[1]=nazwa_strony_linku,[2]="tak",[3]=(not czy_naprawiaj),};
return nazwa_strony_linku,parametry_strony;
else
return nil;
end;
end;
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_jednostki=PobierzParametr("nazwa jednostki") or PobierzParametr("strona") or PobierzParametr(1);
czy_naprawiaj=PobierzParametr("czy naprawiać") or PobierzParametr(2) or czy_naprawiaj;
czy_naprawiaj=parametry_modul.CzyTak(czy_naprawiaj);
local tabela_nazw_adresu=tabela_nazw_adresu or {};
local adres=p["NazwaStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
local parametry_strony=p["ParametryStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
local naglowek_strony=p["NagłówekStronyAdresu"](nazwa_jednostki,(czy_naprawiaj)and true or nil,tabela_nazw_adresu);
nazwa_jednostki=adres..(parametry_strony and ("?"..parametry_strony) or "")..(naglowek_strony and ("#"..naglowek_strony) or "");
return nazwa_jednostki;
end;
function p.URLStrona(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local url=PobierzParametr("url") or PobierzParametr(1);
local z_ukosnikiem=parametry_modul.CzyTak(PobierzParametr("ukośnik") or PobierzParametr(2));
local serwer,nazwa=mw.ustring.match(url,"^//+([^%s/]+)"..((z_ukosnikiem) and "/+" or "").."(/?.-)$");
return serwer,nazwa;
end;
p["UrlBezProtokołu"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local url=PobierzParametr("url") or PobierzParametr(1);
local mail=mw.ustring.match(url,"^.*@([^@]+)$");
if(mail)then
return "//"..mail,"mail",1;
end;
local protokol,strona=mw.ustring.match(url,"^(%a+:)(/+.-)$");
if((protokol)and(strona))then
strona=mw.ustring.gsub(strona,"^(/+)","//");
return strona,protokol,2;
end;
local strona=mw.ustring.match(url,"^:?(/+.-)$");
if(strona)then
strona=mw.ustring.gsub(strona,"^(/+)","//");
return strona,nil,3;
end;
return "//"..url,nil,-1;
end;
function p.DecodeKoduHTMLZnaku(tekst)
local html_dane_modul=mw.loadData("Module:Html/dane");
local kody_literowe_html_i_ich_odpowiedniki_znakowe=html_dane_modul.kody_literowe_html_i_ich_odpowiedniki_znakowe;
-- najpierw nazwane encje
tekst = mw.ustring.gsub(tekst,"(&%a+%;)", kody_literowe_html_i_ich_odpowiedniki_znakowe);
-- encje numeryczne dziesiętne: μ
tekst=mw.ustring.gsub(tekst,"&#(%d+);", function(n)
return mw.ustring.char(tonumber(n))
end);
-- encje numeryczne szesnastkowe: μ
tekst = mw.ustring.gsub(tekst,"&#x(%x+);", function(n)
return mw.ustring.char(tonumber(n, 16))
end);
return tekst;
end;
function p.ZamianaEncodeTekst(tekst)
tekst=mw.uri.encode(mw.uri.decode(tekst,"PATH"),"PATH");
return tekst;
end;
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)
tekst=mw.ustring.gsub(tekst,wzor,function(tekst)
tekst=p.ZamianaEncodeTekst(tekst);
return tekst;
end);
return tekst;
end;
function p.StronaParametryIdentyfikacja(adres)
local ile_w;local ile;
adres,ile_w,ile=p.EncodeHashKoduHtmlTekstu(adres);
local ile1;local ile2;
if(ile_w>0)then
adres,ile1,ile2=p.EncodeTempHashKoduHtmlTekstu(adres);
end;
local strona,naglowek=mw.ustring.match(adres,"^[%s_]*([^#]-)[%s_]*#[%s_]*(.-)[%s_]*$");
if((not strona)or(not naglowek))then
strona=mw.ustring.match(adres,"^[%s_]*(.-)[%s_]*$");
end;
local __strona,parametry=mw.ustring.match(strona,"^(.-%?*)%?([^&=]-=.*)$");
strona=__strona or strona;
if(ile_w>0)then
strona=p.DecodeTempHashKoduHtmlTekstu(strona,ile1,ile2);
parametry=parametry and p.DecodeTempHashKoduHtmlTekstu(parametry,ile1,ile2) or nil;
naglowek=naglowek and p.DecodeTempHashKoduHtmlTekstu(naglowek,ile1,ile2) or nil;
end;
return strona,parametry,naglowek,ile;
end;
function p.TworzenieAdresuHtml(strona,parametry,naglowek,ile)
local adres=strona..(parametry and ("?"..parametry) or "")..((naglowek)and ("#"..naglowek) or "");
adres=p.DecodeHashKoduHtmlTekstu(adres,ile);
return adres;
end;
function p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,funkcja_parametry,funkcja_naglowek)
local strona,parametry,naglowek,ile=p.StronaParametryIdentyfikacja(adres);
strona=funkcja_strona and funkcja_strona(strona) or strona;
parametry=(parametry and funkcja_parametry) and funkcja_parametry(parametry) or parametry;
naglowek=(naglowek and funkcja_naglowek) and funkcja_naglowek(naglowek) or naglowek;
local adres=p.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
return adres;
end;
function p.ParametryEncodeURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)
local function ParametryEncodeURL(a,b,c)
return a..p.ZamianaEncodeTekst(b).."="..p.ZamianaEncodeTekst(c);
end;
local function OperacjeHtml(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]*)=([^&]*)",ParametryEncodeURL);
adres=mw.ustring.gsub(adres,"(&)([^&=]*)=([^&]*)",ParametryEncodeURL);
return adres;
end;
if(not w_adresie)then
return OperacjeHtml(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeHtml,funkcja_naglowek);
end;
end;
function p.ParametryZaawansowanyEncodeURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)
function ParametryZaawansowanyEncodeURL(a,b,c)
b=mw.uri.decode(b,"PATH");b=p.EncodeSpecjalneZnakiHtml(b);b=mw.uri.encode(b,"PATH");
c=mw.uri.decode(c,"PATH");c=p.EncodeSpecjalneZnakiHtml(c);c=mw.uri.encode(c,"PATH");
return a..(b.."="..c);
end;
local function OperacjeURL(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]*)=([^&]*)",ParametryZaawansowanyEncodeURL);
adres=mw.ustring.gsub(adres,"(&)([^&=]*)=([^&]*)",ParametryZaawansowanyEncodeURL);
return adres;
end;
if(not w_adresie)then
return OperacjeURL(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeURL,funkcja_naglowek);
end;
end;
function p.EncodeParametryHtml(parametr,w_adresie,funkcja_strona,funkcja_naglowek)
local EncodeHtmlAB=function(a,b,c)
b=p.EncodeHtml(b);c=p.EncodeHtml(c);
return a..b.."="..c;
end;
local function ParametryHtml(parametr)
parametr=mw.ustring.gsub(parametr,"^(%??)([^&=]*)=([^&]*)",EncodeHtmlAB);
parametr=mw.ustring.gsub(parametr,"(&)([^&=]*)=([^&]*)",EncodeHtmlAB);
return parametr;
end;
if(not w_adresie)then
return ParametryHtml(parametr);
else
return p.TworzenieStronaParametryIdentyfikacja(parametr,funkcja_strona,ParametryHtml,funkcja_naglowek);
end;
end;
function p.EncodeZaawansowanyParametryHtml(adres,z_kodowaniem,w_adresie,funkcja_strona,funkcja_naglowek)
local KrokEncodeZaawansowanyParametryHtmlABC=function(a)
a=mw.uri.decode(a,"PATH");
a=p.EncodePodstawoweHtmlTekstu(a);
if(z_kodowaniem)then a=mw.uri.encode(a,"PATH");end;
return a;
end;
local EncodeZaawansowanyParametryHtmlABC=function(a,b,c)
b=KrokEncodeZaawansowanyParametryHtmlABC(b);
c=KrokEncodeZaawansowanyParametryHtmlABC(c);
return (a or "")..(b.."="..c);
end;
local function OperacjeParametryHtmlABC(adres)
adres=mw.ustring.gsub(adres,"^(%??)([^&=]-)=([^&]*)",EncodeZaawansowanyParametryHtmlABC);
adres=mw.ustring.gsub(adres,"([&])([^&=]-)=([^&]*)",EncodeZaawansowanyParametryHtmlABC);
return adres;
end;
if(not w_adresie)then
return OperacjeParametryHtmlABC(adres);
else
return p.TworzenieStronaParametryIdentyfikacja(adres,funkcja_strona,OperacjeParametryHtmlABC,funkcja_naglowek);
end;
end;
function p.EncodeHashKoduHtmlTekstu(tekst)
local ile;local ile2=0;
tekst,ile=mw.ustring.gsub(tekst,"&([^&;%s]+);",function(kod)
if((kod=="num")or(kod=="#35")or(kod=="#x23"))then
ile2=ile2+1;
return "&num;";
end;
return nil;
end);
return tekst,ile,ile2;
end;
function p.DecodeHashKoduHtmlTekstu(tekst,ile)
if(((ile)and(ile>0))or(not ile))then
tekst=mw.ustring.gsub(tekst,"&num;",function(kod)
return "#";
end);
end;
return tekst;
end;
function p.EncodeTempHashKoduHtmlTekstu(tekst)
local ile1;local ile2;
tekst,ile1=mw.ustring.gsub(tekst,"&#(%d+);",function(kod)
return "&#"..kod..";";
end);
tekst,ile2=mw.ustring.gsub(tekst,"&#x(%x+);",function(kod)
return "&#x"..kod..";";
end);
return tekst,ile1,ile2;
end;
function p.DecodeTempHashKoduHtmlTekstu(tekst,ile1,ile2)
if(((ile1)and(ile1>0))or(not ile1))then
tekst=mw.ustring.gsub(tekst,"&#(%d+);",function(kod)
return "&#"..kod..";"
end);
end;
if(((ile2)and(ile2>0))or(not ile2))then
tekst=mw.ustring.gsub(tekst,"&#x(%x+);",function(kod)
return "&#x"..kod..";"
end);
end;
return tekst;
end;
function p.AdresBezProtokolarnyEncodeURL(adres)
local adres=p.ParametryEncodeURL(adres,true,
function(strona)
strona=p.ZamianaEncodeNaPodstawieWzoruTekstu(strona,"[^/]+");
return strona;
end,
function(naglowek)
naglowek=p.ZamianaEncodeTekst(naglowek);
return naglowek;
end);
return adres;
end;
function p.UriEncode(frame)
local parametry_modul=require("Module:Parametry");
local html=parametry_modul.PobierzParametryRamki(frame)("html");
html=mw.ustring.gsub(html,"^(%a+://)(.+)$",function(prot,strona)
return prot..p.AdresBezProtokolarnyEncodeURL(strona);
end);
return html;
end;
function p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)
local ile;
elementy_adresu_strony,ile=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
if(ile>0)then
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
end;
elementy_adresu_strony=p.EncodeSpecjalneZnakiHtml(elementy_adresu_strony);
return elementy_adresu_strony;
end;
function p.EncodeElementyAdresuStrony(elementy_adresu_strony,czy_parametry_strony,z_kodowaniem)
if(czy_parametry_strony)then
elementy_adresu_strony=p.EncodeZaawansowanyParametryHtml(elementy_adresu_strony,z_kodowaniem);
else
elementy_adresu_strony=mw.uri.decode(elementy_adresu_strony,"PATH");
elementy_adresu_strony=p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony);
if(z_kodowaniem)then elementy_adresu_strony=mw.uri.encode(elementy_adresu_strony,"PATH");end;
end;
return elementy_adresu_strony;
end;
function p.AdresProjektuEncodeHtml(frame,z_kodowaniem)
local parametry_modul=require("Module:Parametry")
local PobierzParametry=parametry_modul.PobierzParametryRamki(frame);
local html=PobierzParametry("html");
local z_kodowaniem_html=PobierzParametry("encode");
if(z_kodowaniem_html)then z_kodowaniem=parametry_modul.CzyTak(z_kodowaniem_html);end;
local html=p.EncodeZaawansowanyParametryHtml(html,z_kodowaniem,true,
function(strona)
strona=p.EncodePodstawoweHtmlTekstu(mw.uri.decode(strona,"PATH"));
if(z_kodowaniem)then strona=mw.uri.encode(strona,"PATH");end;
return strona;
end,
function(naglowek)
naglowek=p.EncodePodstawoweHtmlTekstu(mw.uri.decode(naglowek,"PATH"));
if(z_kodowaniem)then naglowek=mw.uri.encode(naglowek,"PATH") end;
return naglowek;
end);
return html;
end;
return p;
k3ccy5eh7mzcjcuwf0pg6q0i1vaqsms
Moduł:Brudnopis/Persino/test
828
59681
540106
539935
2026-04-19T10:34:52Z
Persino
2851
540106
Scribunto
text/plain
local p={};
function p.TYTAN(frame)
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona_główna#To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
mw.log(strona,parametry,naglowek,ile);
end;
return p;
f5itogc5bivlttuw20s3mmkkuadho59
540115
540106
2026-04-19T11:42:40Z
Persino
2851
540115
Scribunto
text/plain
local p={};
function p.TYTAN(frame)
local html_modul=require("Module:Html");
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
local adres=html_modul.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
mw.log(adres);
end;
return p;
4920ebwu467xyoooj6yeypj13iildx5
Zioła i przyprawy
0
63445
540033
540018
2026-04-18T12:20:40Z
EdytaT
2664
540033
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/Liść laurowy|Liść laurowy]]
=== Kompozycje przyprawowe ===
# [[Zioła i przyprawy/Bouquet garni|Bouquet garni]]
# [[Zioła i przyprawy/Swańska sól|Swańska sól]]
# [[Zioła i przyprawy/Zioła prowansalskie|Zioła prowansalskie]]
=== Przyprawianie zup ===
==== Barszcz ====
* 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]], [[Zioła i przyprawy/Pieprz czarny|czarny pieprz]] w ziarnach.
* Kilka [[Zioła i przyprawy/Suszone grzyby|suszonych grzybów]] nadaje głęboki smak.
* Charakterystyczną kwaskowatość otrzymasz dodając trochę kiszonych buraków albo [[Zioła i przyprawy/Ocet|octu jabłkowego]] lub soku z [[Zioła i przyprawy/Cytryna|cytryny]].
* [[Zioła i przyprawy/Cukier|Szczypta cukru]], trochę [[Zioła i przyprawy/Miód|miodu]] lub odrobina soku z jabłka.
* [[Zioła i przyprawy/Majeranek|Majeranek]] dodaj na koniec gotowania.
== [[Zioła i przyprawy/Słowniczek|Słowniczek]] ==
== [[Zioła i przyprawy/Bibliografia|Bibliografia]] ==
mfecu9lmp42tf4zbb7iluaky5af2uhk
540038
540033
2026-04-18T13:05:15Z
EdytaT
2664
/* Barszcz */
540038
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/Liść laurowy|Liść laurowy]]
=== Kompozycje przyprawowe ===
# [[Zioła i przyprawy/Bouquet garni|Bouquet garni]]
# [[Zioła i przyprawy/Swańska sól|Swańska sól]]
# [[Zioła i przyprawy/Zioła prowansalskie|Zioła prowansalskie]]
=== Przyprawianie zup ===
==== Barszcz ====
* 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]], [[Zioła i przyprawy/Pieprz czarny|czarny pieprz]] w ziarnach.
* Kilka [[Zioła i przyprawy/Suszone grzyby|suszonych grzybów]] nada głębszy smak.
* Charakterystyczną kwaskowatość otrzymasz dodając trochę kiszonych buraków albo [[Zioła i przyprawy/Ocet|octu jabłkowego]] lub soku z [[Zioła i przyprawy/Cytryna|cytryny]].
* [[Zioła i przyprawy/Cukier|Szczypta cukru]], trochę [[Zioła i przyprawy/Miód|miodu]] lub odrobina soku z jabłka. Zakwaszaj na koniec gotowania, by barszcz nie stracił koloru.
* [[Zioła i przyprawy/Majeranek|Majeranek]] również dodaj na końcu, by nie zrobił się gorzki.
* Jeżeli lubisz, to możesz dodać [[Zioła i przyprawy/Lubczyk|lubczyk]], [[Zioła i przyprawy/Goździki|goździki]], a odrobina [[Zioła i przyprawy/Chili|chili]] zaostrzy smak.
== [[Zioła i przyprawy/Słowniczek|Słowniczek]] ==
== [[Zioła i przyprawy/Bibliografia|Bibliografia]] ==
6cl5i4nydo0izk945b5mqxouy5y3daa
540039
540038
2026-04-18T13:06:13Z
EdytaT
2664
/* Barszcz */
540039
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/Liść laurowy|Liść laurowy]]
=== Kompozycje przyprawowe ===
# [[Zioła i przyprawy/Bouquet garni|Bouquet garni]]
# [[Zioła i przyprawy/Swańska sól|Swańska sól]]
# [[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.
* Charakterystyczną kwaskowatość otrzymasz dodając trochę kiszonych buraków albo [[Zioła i przyprawy/Ocet|octu jabłkowego]] lub soku z [[Zioła i przyprawy/Cytryna|cytryny]].
* [[Zioła i przyprawy/Cukier|Szczypta cukru]], trochę [[Zioła i przyprawy/Miód|miodu]] lub odrobina soku z jabłka. Zakwaszaj na koniec gotowania, by barszcz nie stracił koloru.
* [[Zioła i przyprawy/Majeranek|Majeranek]] również dodaj na końcu, by nie zrobił się gorzki.
* Jeżeli lubisz, to możesz dodać [[Zioła i przyprawy/Lubczyk|lubczyk]], [[Zioła i przyprawy/Goździki|goździki]], a odrobina [[Zioła i przyprawy/Chili|chili]] zaostrzy smak.
== [[Zioła i przyprawy/Słowniczek|Słowniczek]] ==
== [[Zioła i przyprawy/Bibliografia|Bibliografia]] ==
arykqf7s0vue2c44whsu8y41iolbvbe
540061
540039
2026-04-18T16:39:57Z
EdytaT
2664
/* Barszcz */
540061
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/Liść laurowy|Liść laurowy]]
=== Kompozycje przyprawowe ===
# [[Zioła i przyprawy/Bouquet garni|Bouquet garni]]
# [[Zioła i przyprawy/Swańska sól|Swańska sól]]
# [[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]] ==
prp38m9cy1b2o7waj7ccw2grtl0zy76
Zioła i przyprawy/Kolendra
0
63447
540023
539772
2026-04-18T12:10:27Z
EdytaT
2664
EdytaT przeniósł(-osła) stronę [[Zioła i przyprawy/Kolendra siewna]] do [[Zioła i przyprawy/Kolendra]]: Piszac o przyprawach lepiej jednak konkretnie nazwac przyprawy, a nie rosliny, z ktorej pochodza.
539772
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Kolendra siewna}}
[[Plik:A scene of Coriander leaves.JPG|thumb|Listki]]
[[Plik:Flor de Cilantro Mexicano.jpg|thumb|Kwiaty z ziarnami]]
[[Plik:Koriander (Coriandrum sativum) Paste im Glas--Josef Schlaghecken.jpg|thumb|Pasta z kolendry]]
[[Plik:Coriander seeds.jpg|thumb|Ziarna]]
{{wikipedia|Kolendra siewna}}
{{wikisłownik|kolendra siewna}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna|uprawy kolendry}}
== Kolendra ==
Prawdziwa kolendra jest stosowana głównie w potrawach azjatyckich lub latynoamerykańskich, np. w zupach, gulaszach czy sałatkach – niezależnie od tego, czy są to dania wegetariańskie, z rybą czy mięsem. Pod względem smaku listki i nasiona bardzo się od siebie różnią.
== Listki kolendry ==
* Zarówno świeże jak i suszone listki kolendry dla jednych smakują świeżością krystalicznej wody z górskiego strumienia, a dla innych mają smak mydła. Jeśli przypadkowo dodałeś jej za dużo do gotowania, możesz zneutralizować jej smak gotując potrawę nieco dłużej.
* Świeżą kolendrę najlepiej dodać do potrawy dopiero pod koniec gotowania.
* Przybliżonym zamiennikiem listków kolendry może być mieszanka [[Zioła i przyprawy/Pietruszka|pietruszki]], [[Zioła i przyprawy/Koper|kopru]] i [[Zioła i przyprawy/Estragon|estragonu]].
=== Potrawy ===
* zupy
* gulasze
* sałatki
== Nasiona (owoce) kolendry ==
* Nasiona kolendry mają cytrusowy smak z cierpką świeżością.
* Dobrze znoszą wysoką temperaturę i nabierają intensywniejszego smaku, jeśli wcześniej zostaną podprażone na oleju.
* Są łatwe w obróbce. Można je spożywać suszone, dodając je w całości do potraw lub wcześniej mieląc lub rozgniatając w moździerzu.
* Stosuje się je rownież postaci proszku do dań na ciepło i na zimno.
* Przybliżonym zamiennikiem nasion kolendry mogą być nasiona [[Zioła i przyprawy/Koper włoski|kopru włoskiego]] lub [[Zioła i przyprawy/Kmin rzymski|kminu rzymskiego]].
=== Potrawy ===
* zupy
* gulasze
* wypieki świąteczne
* mieszanki [[Zioła i przyprawy/Curry|curry]]
* przyprawa do pieczywa
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
4vjgooekka3amsklajqsne4nngae1l1
540026
540023
2026-04-18T12:11:36Z
EdytaT
2664
540026
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Kolendra}}
[[Plik:A scene of Coriander leaves.JPG|thumb|Listki]]
[[Plik:Flor de Cilantro Mexicano.jpg|thumb|Kwiaty z ziarnami]]
[[Plik:Koriander (Coriandrum sativum) Paste im Glas--Josef Schlaghecken.jpg|thumb|Pasta z kolendry]]
[[Plik:Coriander seeds.jpg|thumb|Ziarna]]
{{wikipedia|Kolendra siewna}}
{{wikisłownik|kolendra siewna}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna|uprawy kolendry}}
== Kolendra ==
Prawdziwa kolendra jest stosowana głównie w potrawach azjatyckich lub latynoamerykańskich, np. w zupach, gulaszach czy sałatkach – niezależnie od tego, czy są to dania wegetariańskie, z rybą czy mięsem. Pod względem smaku listki i nasiona bardzo się od siebie różnią.
== Listki kolendry ==
* Zarówno świeże jak i suszone listki kolendry dla jednych smakują świeżością krystalicznej wody z górskiego strumienia, a dla innych mają smak mydła. Jeśli przypadkowo dodałeś jej za dużo do gotowania, możesz zneutralizować jej smak gotując potrawę nieco dłużej.
* Świeżą kolendrę najlepiej dodać do potrawy dopiero pod koniec gotowania.
* Przybliżonym zamiennikiem listków kolendry może być mieszanka [[Zioła i przyprawy/Pietruszka|pietruszki]], [[Zioła i przyprawy/Koper|kopru]] i [[Zioła i przyprawy/Estragon|estragonu]].
=== Potrawy ===
* zupy
* gulasze
* sałatki
== Nasiona (owoce) kolendry ==
* Nasiona kolendry mają cytrusowy smak z cierpką świeżością.
* Dobrze znoszą wysoką temperaturę i nabierają intensywniejszego smaku, jeśli wcześniej zostaną podprażone na oleju.
* Są łatwe w obróbce. Można je spożywać suszone, dodając je w całości do potraw lub wcześniej mieląc lub rozgniatając w moździerzu.
* Stosuje się je rownież postaci proszku do dań na ciepło i na zimno.
* Przybliżonym zamiennikiem nasion kolendry mogą być nasiona [[Zioła i przyprawy/Fenkuł|fenkułu]] lub [[Zioła i przyprawy/Kmin rzymski|kminu rzymskiego]].
=== Potrawy ===
* zupy
* gulasze
* wypieki świąteczne
* mieszanki [[Zioła i przyprawy/Curry|curry]]
* przyprawa do pieczywa
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
dob682s876mqj7h9g3xqaih742mds31
540029
540026
2026-04-18T12:14:44Z
EdytaT
2664
540029
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Kolendra}}
[[Plik:A scene of Coriander leaves.JPG|thumb|Listki]]
[[Plik:Flor de Cilantro Mexicano.jpg|thumb|Kwiaty z ziarnami]]
[[Plik:Koriander (Coriandrum sativum) Paste im Glas--Josef Schlaghecken.jpg|thumb|Pasta z kolendry]]
[[Plik:Coriander seeds.jpg|thumb|Ziarna]]
{{wikipedia|Kolendra}}
{{wikisłownik|kolendra}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna|uprawy kolendry}}
== Kolendra ==
Prawdziwa kolendra jest stosowana głównie w potrawach azjatyckich lub latynoamerykańskich, np. w zupach, gulaszach czy sałatkach – niezależnie od tego, czy są to dania wegetariańskie, z rybą czy mięsem. Pod względem smaku listki i nasiona bardzo się od siebie różnią.
== Listki kolendry ==
* Zarówno świeże jak i suszone listki kolendry dla jednych smakują świeżością krystalicznej wody z górskiego strumienia, a dla innych mają smak mydła. Jeśli przypadkowo dodałeś jej za dużo do gotowania, możesz zneutralizować jej smak gotując potrawę nieco dłużej.
* Świeżą kolendrę najlepiej dodać do potrawy dopiero pod koniec gotowania.
* Przybliżonym zamiennikiem listków kolendry może być mieszanka [[Zioła i przyprawy/Pietruszka|pietruszki]], [[Zioła i przyprawy/Koper|kopru]] i [[Zioła i przyprawy/Estragon|estragonu]].
=== Potrawy ===
* zupy
* gulasze
* sałatki
== Nasiona (owoce) kolendry ==
* Nasiona kolendry mają cytrusowy smak z cierpką świeżością.
* Dobrze znoszą wysoką temperaturę i nabierają intensywniejszego smaku, jeśli wcześniej zostaną podprażone na oleju.
* Są łatwe w obróbce. Można je spożywać suszone, dodając je w całości do potraw lub wcześniej mieląc lub rozgniatając w moździerzu.
* Stosuje się je również postaci proszku do dań na ciepło i na zimno.
* Przybliżonym zamiennikiem nasion kolendry mogą być nasiona [[Zioła i przyprawy/Fenkuł|fenkułu]] lub [[Zioła i przyprawy/Kmin rzymski|kminu rzymskiego]].
=== Potrawy ===
* zupy
* gulasze
* wypieki świąteczne
* mieszanki [[Zioła i przyprawy/Curry|curry]]
* przyprawa do pieczywa
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
9efdap4e6mhknte08qtozcab0c4v6ke
540030
540029
2026-04-18T12:17:30Z
EdytaT
2664
/* Nasiona (owoce) kolendry */
540030
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Kolendra}}
[[Plik:A scene of Coriander leaves.JPG|thumb|Listki]]
[[Plik:Flor de Cilantro Mexicano.jpg|thumb|Kwiaty z ziarnami]]
[[Plik:Koriander (Coriandrum sativum) Paste im Glas--Josef Schlaghecken.jpg|thumb|Pasta z kolendry]]
[[Plik:Coriander seeds.jpg|thumb|Ziarna]]
{{wikipedia|Kolendra}}
{{wikisłownik|kolendra}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna|uprawy kolendry}}
== Kolendra ==
Prawdziwa kolendra jest stosowana głównie w potrawach azjatyckich lub latynoamerykańskich, np. w zupach, gulaszach czy sałatkach – niezależnie od tego, czy są to dania wegetariańskie, z rybą czy mięsem. Pod względem smaku listki i nasiona bardzo się od siebie różnią.
== Listki kolendry ==
* Zarówno świeże jak i suszone listki kolendry dla jednych smakują świeżością krystalicznej wody z górskiego strumienia, a dla innych mają smak mydła. Jeśli przypadkowo dodałeś jej za dużo do gotowania, możesz zneutralizować jej smak gotując potrawę nieco dłużej.
* Świeżą kolendrę najlepiej dodać do potrawy dopiero pod koniec gotowania.
* Przybliżonym zamiennikiem listków kolendry może być mieszanka [[Zioła i przyprawy/Pietruszka|pietruszki]], [[Zioła i przyprawy/Koper|kopru]] i [[Zioła i przyprawy/Estragon|estragonu]].
=== Potrawy ===
* zupy
* gulasze
* sałatki
== Nasiona (owoce) kolendry ==
* Nasiona kolendry mają cytrusowy smak z cierpką świeżością.
* Dobrze znoszą wysoką temperaturę i nabierają intensywniejszego smaku, jeśli wcześniej zostaną podprażone na oleju.
* Są łatwe w obróbce. Można je spożywać suszone, dodając je w całości do potraw lub wcześniej mieląc lub rozgniatając w moździerzu.
* Stosuje się je również postaci proszku do dań na ciepło i na zimno.
* Przybliżonym zamiennikiem nasion kolendry mogą być nasiona [[Zioła i przyprawy/Fenkuł|fenkułu]] lub [[Zioła i przyprawy/Kumin|kuminu]].
=== Potrawy ===
* zupy
* gulasze
* wypieki świąteczne
* mieszanki [[Zioła i przyprawy/Curry|curry]]
* przyprawa do pieczywa
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
osah3i0f5m9hm6g28o1sqgqxdtvp0hj
540036
540030
2026-04-18T12:25:39Z
EdytaT
2664
/* Nasiona (owoce) kolendry */
540036
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Kolendra}}
[[Plik:A scene of Coriander leaves.JPG|thumb|Listki]]
[[Plik:Flor de Cilantro Mexicano.jpg|thumb|Kwiaty z ziarnami]]
[[Plik:Koriander (Coriandrum sativum) Paste im Glas--Josef Schlaghecken.jpg|thumb|Pasta z kolendry]]
[[Plik:Coriander seeds.jpg|thumb|Ziarna]]
{{wikipedia|Kolendra}}
{{wikisłownik|kolendra}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna|uprawy kolendry}}
== Kolendra ==
Prawdziwa kolendra jest stosowana głównie w potrawach azjatyckich lub latynoamerykańskich, np. w zupach, gulaszach czy sałatkach – niezależnie od tego, czy są to dania wegetariańskie, z rybą czy mięsem. Pod względem smaku listki i nasiona bardzo się od siebie różnią.
== Listki kolendry ==
* Zarówno świeże jak i suszone listki kolendry dla jednych smakują świeżością krystalicznej wody z górskiego strumienia, a dla innych mają smak mydła. Jeśli przypadkowo dodałeś jej za dużo do gotowania, możesz zneutralizować jej smak gotując potrawę nieco dłużej.
* Świeżą kolendrę najlepiej dodać do potrawy dopiero pod koniec gotowania.
* Przybliżonym zamiennikiem listków kolendry może być mieszanka [[Zioła i przyprawy/Pietruszka|pietruszki]], [[Zioła i przyprawy/Koper|kopru]] i [[Zioła i przyprawy/Estragon|estragonu]].
=== Potrawy ===
* zupy
* gulasze
* sałatki
== Nasiona (owoce) kolendry ==
* Nasiona kolendry mają cytrusowy smak z cierpką świeżością.
* Dobrze znoszą wysoką temperaturę i nabierają intensywniejszego smaku, jeśli wcześniej zostaną podprażone na oleju.
* Są łatwe w obróbce. Można je spożywać suszone, dodając je w całości do potraw lub wcześniej mieląc lub rozgniatając w moździerzu.
* Stosuje się je również postaci proszku do dań na ciepło i na zimno.
* Przybliżonym zamiennikiem nasion kolendry mogą być nasiona [[Zioła i przyprawy/Koper włoski|kopru włoskiego]] lub [[Zioła i przyprawy/Kumin|kuminu]].
=== Potrawy ===
* zupy
* gulasze
* wypieki świąteczne
* mieszanki [[Zioła i przyprawy/Curry|curry]]
* przyprawa do pieczywa
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
fl5pk3nx8rehc1ujyvjk3muydidycq8
Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna
0
63452
540027
539561
2026-04-18T12:12:48Z
EdytaT
2664
540027
wikitext
text/x-wiki
{{Podrozdział|[[Ekoogrodnictwo]]<br>[[Ekoogrodnictwo/Rośliny_użytkowe|Rośliny użytkowe]]<br>Kolendra siewna}}
{{Uprawa - roślina infobox
|nazwa = Kolendra siewna
|obrazek = Starr 080731-9547 Coriandrum sativum retusche.jpg
|gleba =
|ciepło =
|wrażliwość =
|woda =
|łacina = Coriandrum sativum L.
|wikipedia = Kolendra siewna
|wikispecies = Coriandrum sativum
|wikisłownik = kolendra siewna
|commons = Coriandrum sativum
}}
{{Wikibooks|Zioła i przyprawy/Kolendra|kolendry}}
=== Uprawa ===
===== Miejsce uprawy =====
* Podczas sadzenia należy zadbać o wystarczającą ilość miejsca, ponieważ krzew kolendry może osiągnąć wysokość do 90 cm.
===== Siew/sadzenie =====
* Od kwietnia do czerwca można włożyć w ziemię cztery do pięciu nasion na głębokość około pół centymetra w odstepach ok. 25 cm..
* Nasiona należy przykryć cienką warstwą (około 1 cm) gleby. Zbyt płytkie posadzenie może spowodować ich wyschnięcie.
* Po wykiełkowaniu sadzonki należy rozdzielić, zachowując odstępy 15 cm.
* Małe rośliny należy regularnie podlewać i utrzymywać w wilgoci.
* Kwitnie od lipca do sierpnia.
===== Uprawa pod szkłem =====
* Kolendrę można z powodzeniem uprawiać w szklarni, tunelu foliowym, a także w doniczkach na parapecie lub balkonie.
=== Wskazówki biologiczne ===
* Kolendra jest [[Pszczelarstwo/Rośliny/Coriandrum sativum|rośliną miododajną]].
* Dobrzy sąsiedzi:
:* [[Ekoogrodnictwo/Rośliny użytkowe/Sałata|Sałata]], [[Ekoogrodnictwo/Rośliny użytkowe/Kapusta głowiasta|kapusta głowiasta]], [[Ekoogrodnictwo/Rośliny użytkowe/Chili|chili]] i [[Ekoogrodnictwo/Rośliny użytkowe/Imbir|imbir]].
* Źli sąsiedzi:
=== Zbiór ===
* Po uplywie ok. czterech do sześciu tygodni młoda roślina jest gotowa do pierwszego zbioru. Zrywaj tylko dolne liście i ścinaj łodygi, aby roślina mogła wypuścić nowe pędy.
* Jeśli nie chcesz zbierać nasion, możesz przedłużyć okres zbioru liści i łodyg. Wystarczy w odpowiednim czasie usunąć pąki kwiatowe.
* Świeże liście możesz zebrać i zamrozić.
* Od sierpnia do września nasiona kolendry powoli dojrzewają. Ponieważ w pełni dojrzałe ziarna szybko opadają, zbierz nasiona przed osiągnięciem przez nie pełnej dojrzałości.
=== Odmiany ===
=== Zastosowanie ===
* Kolendra siewna to zioło i przyprawa kuchenna.
* → [[Zioła i przyprawy/Kolendra siewna|Zioła i przyprawy - Kolendra]]
g3fh1q1z4sddwdqvw0vimdvh7nhqkil
540031
540027
2026-04-18T12:18:35Z
EdytaT
2664
/* Zastosowanie */
540031
wikitext
text/x-wiki
{{Podrozdział|[[Ekoogrodnictwo]]<br>[[Ekoogrodnictwo/Rośliny_użytkowe|Rośliny użytkowe]]<br>Kolendra siewna}}
{{Uprawa - roślina infobox
|nazwa = Kolendra siewna
|obrazek = Starr 080731-9547 Coriandrum sativum retusche.jpg
|gleba =
|ciepło =
|wrażliwość =
|woda =
|łacina = Coriandrum sativum L.
|wikipedia = Kolendra siewna
|wikispecies = Coriandrum sativum
|wikisłownik = kolendra siewna
|commons = Coriandrum sativum
}}
{{Wikibooks|Zioła i przyprawy/Kolendra|kolendry}}
=== Uprawa ===
===== Miejsce uprawy =====
* Podczas sadzenia należy zadbać o wystarczającą ilość miejsca, ponieważ krzew kolendry może osiągnąć wysokość do 90 cm.
===== Siew/sadzenie =====
* Od kwietnia do czerwca można włożyć w ziemię cztery do pięciu nasion na głębokość około pół centymetra w odstepach ok. 25 cm..
* Nasiona należy przykryć cienką warstwą (około 1 cm) gleby. Zbyt płytkie posadzenie może spowodować ich wyschnięcie.
* Po wykiełkowaniu sadzonki należy rozdzielić, zachowując odstępy 15 cm.
* Małe rośliny należy regularnie podlewać i utrzymywać w wilgoci.
* Kwitnie od lipca do sierpnia.
===== Uprawa pod szkłem =====
* Kolendrę można z powodzeniem uprawiać w szklarni, tunelu foliowym, a także w doniczkach na parapecie lub balkonie.
=== Wskazówki biologiczne ===
* Kolendra jest [[Pszczelarstwo/Rośliny/Coriandrum sativum|rośliną miododajną]].
* Dobrzy sąsiedzi:
:* [[Ekoogrodnictwo/Rośliny użytkowe/Sałata|Sałata]], [[Ekoogrodnictwo/Rośliny użytkowe/Kapusta głowiasta|kapusta głowiasta]], [[Ekoogrodnictwo/Rośliny użytkowe/Chili|chili]] i [[Ekoogrodnictwo/Rośliny użytkowe/Imbir|imbir]].
* Źli sąsiedzi:
=== Zbiór ===
* Po uplywie ok. czterech do sześciu tygodni młoda roślina jest gotowa do pierwszego zbioru. Zrywaj tylko dolne liście i ścinaj łodygi, aby roślina mogła wypuścić nowe pędy.
* Jeśli nie chcesz zbierać nasion, możesz przedłużyć okres zbioru liści i łodyg. Wystarczy w odpowiednim czasie usunąć pąki kwiatowe.
* Świeże liście możesz zebrać i zamrozić.
* Od sierpnia do września nasiona kolendry powoli dojrzewają. Ponieważ w pełni dojrzałe ziarna szybko opadają, zbierz nasiona przed osiągnięciem przez nie pełnej dojrzałości.
=== Odmiany ===
=== Zastosowanie ===
* Kolendra siewna to zioło i przyprawa kuchenna.
* → [[Zioła i przyprawy/Kolendra|Zioła i przyprawy - Kolendra]]
6sudgd4wdk81z7ihn5ywzy1rxkhhjvi
Napary/Kolendra siewna
0
63455
540028
539568
2026-04-18T12:13:33Z
EdytaT
2664
540028
wikitext
text/x-wiki
<noinclude>{{NawigacjaG
| 1 = Napary
| 2 =
| 3 =
}}</noinclude>
{{Uprawa - roślina infobox
| nazwa = Kolendra siewna
| obrazek = Starr 080731-9547 Coriandrum sativum retusche.jpg
| łacina = Coriandrum sativum
| nazwy =
| wikipedia = Kolendra siewna
| wikisłownik = kolendra siewna
| commons = Category:Coriandrum sativum
}}
{{wikibooks|Zioła i przyprawy/Kolendra|kolendry siewnej}}
{{wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra|uprawy kolendry}}
== Kolendra siewna ==
{{Uwaga|Informacje tu zawarte nie są tekstami medycznymi i nie służą leczeniu zachorowań!<br>W przypadku alergii nie należy korzystać z produktów wytwarzanych z tej rośliny.}}
{{Uwaga|Zobacz też: {{lpr|Zastrzeżenia dotyczące pojęć medycznych}} w Wikipedii.}}
* Przeciwdziała [[Napary/Działanie#Wzdęcia|wzdęciom]]
* Wspiera [[Napary/Działanie#Wątroba|wątrobę]].
== Przeciwwskazania ==
== Surowiec zielarski ==
* Listki oraz nasiona kolendry siewnej.
== Napary z kolendry siewnej ==
* Napar przygotowany z nasion kolendry ma cytrusowy, lekko cierpki smak. Dobrze smakuje ciepły i niesłodzony.
=== Herbata z kolendry siewnej ===
* 1–2 łyżeczki nasion zmielonych lub zmiażdżonych w moździerzu zalej ok. 250 ml wrzącej wody.
* Zaparzaj ok. 10 min.
* Popijaj małymi łykami.
{{Przypisy}}
<noinclude>{{Nawigacja
| 1 = Napary
| 2 =
| 3 =
}}</noinclude>
jnlet4pgmptwgdv4xk5bvut16v66ba7
540037
540028
2026-04-18T12:35:31Z
Persino
2851
540037
wikitext
text/x-wiki
<noinclude>{{NawigacjaG
| 1 = Napary
| 2 =
| 3 =
}}</noinclude>
{{Uprawa - roślina infobox
| nazwa = Kolendra siewna
| obrazek = Starr 080731-9547 Coriandrum sativum retusche.jpg
| łacina = Coriandrum sativum
| nazwy =
| wikipedia = Kolendra siewna
| wikisłownik = kolendra siewna
| commons = Category:Coriandrum sativum
}}
{{wikibooks|Zioła i przyprawy/Kolendra|kolendry siewnej}}
{{wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Kolendra siewna|uprawy kolendry}}
== Kolendra siewna ==
{{Uwaga|Informacje tu zawarte nie są tekstami medycznymi i nie służą leczeniu zachorowań!<br>W przypadku alergii nie należy korzystać z produktów wytwarzanych z tej rośliny.}}
{{Uwaga|Zobacz też: {{lpr|Zastrzeżenia dotyczące pojęć medycznych}} w Wikipedii.}}
* Przeciwdziała [[Napary/Działanie#Wzdęcia|wzdęciom]]
* Wspiera [[Napary/Działanie#Wątroba|wątrobę]].
== Przeciwwskazania ==
== Surowiec zielarski ==
* Listki oraz nasiona kolendry siewnej.
== Napary z kolendry siewnej ==
* Napar przygotowany z nasion kolendry ma cytrusowy, lekko cierpki smak. Dobrze smakuje ciepły i niesłodzony.
=== Herbata z kolendry siewnej ===
* 1–2 łyżeczki nasion zmielonych lub zmiażdżonych w moździerzu zalej ok. 250 ml wrzącej wody.
* Zaparzaj ok. 10 min.
* Popijaj małymi łykami.
{{Przypisy}}
<noinclude>{{Nawigacja
| 1 = Napary
| 2 =
| 3 =
}}</noinclude>
1mkcv1oirt2gpufqn05mjx1anak8qxf
Wikibooks:Moduły/Html
4
63462
540040
540017
2026-04-18T13:43:11Z
Persino
2851
/* {{Code|p["NagłówekStronyAdresu"](frame,...)}} */
540040
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona?action=edit§ion=2#Nagłówek_strony";
local naglowek=html_modul["NagłówekStronyAdresu"]{strona=strona,["z nie dolnymi z myślnikami"]=true,};
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5qicggrom9edlqdd89v7mydrljl6k2i
540041
540040
2026-04-18T13:59:48Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540041
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona?action=edit§ion=2#Nagłówek_strony";
local naglowek=html_modul["NagłówekStronyAdresu"]{strona=strona,["z nie dolnymi z myślnikami"]=true,};
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local parametry=html_modul["ParametryStronyAdresu"]{strona=strona,["czy naprawiać"]=true,};
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jdwfvx1n0c8duvpcz7mbsutrdw3fd67
540042
540041
2026-04-18T14:08:38Z
Persino
2851
/* {{Code|p["NagłówekStronyAdresu"](frame,...)}} */
540042
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona?action=edit§ion=2#Nagłówek_strony";
local tabela_nazw_adresu={};
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local parametry=html_modul["ParametryStronyAdresu"]{strona=strona,["czy naprawiać"]=true,};
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pcux0fwovd9m496aelbfiijinad3vya
540043
540042
2026-04-18T14:10:17Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540043
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona?action=edit§ion=2#Nagłówek_strony";
local tabela_nazw_adresu={};
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local tabela_nazw_adresu={};
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
502n1e96mezxvbhim4llr8jpy6iq5yl
540044
540043
2026-04-18T14:28:53Z
Persino
2851
/* {{Code|p["NagłówekStronyAdresu"](frame,...)}} */
540044
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona?action=edit§ion=2#Nagłówek_strony";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local tabela_nazw_adresu={};
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
clfhpcezgb1clsslxg14ctuqxojjzyb
540045
540044
2026-04-18T14:30:05Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540045
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona?action=edit§ion=2#Nagłówek_strony";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4t2uab2hcvmpae4b97bh6yqoe8h60va
540046
540045
2026-04-18T14:41:12Z
Persino
2851
/* {{Code|p["NagłówekStronyAdresu"](frame,...)}} */
540046
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna? action = edit & section = 2 # Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
fl5w4yjwzl10hdj84mxqbpwult1cqve
540047
540046
2026-04-18T14:42:13Z
Persino
2851
/* {{Code|p["NagłówekStronyAdresu"](frame,...)}} */
540047
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action = edit & section = 2 # Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona? action = edit & section = 2 #Nagłówek_strony";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
a5kf65ft6662kl47zmoi48yk1qk6bvq
540048
540047
2026-04-18T14:42:38Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540048
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action = edit & section = 2 # Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action = edit & section = 2 # Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
j9y8kh3c3lc8evub4a6qqgg0wy6qv1a
540049
540048
2026-04-18T14:43:53Z
Persino
2851
/* {{Code|p["NagłówekStronyAdresu"](frame,...)}} */
540049
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action = edit & section = 2 # Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
n6fhmy47k7xqgd5t2ddx5ik7qjpmpli
540050
540049
2026-04-18T14:44:26Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540050
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l6z6co8ka2f6g0vp6yrexqzmk3ce5qv
540051
540050
2026-04-18T14:49:22Z
Persino
2851
/* {{Code|p["NazwaStronyAdresu"](frame,...)}} */
540051
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
97quep6r9dtx22cq10nnvger67gaoqm
540052
540051
2026-04-18T14:51:32Z
Persino
2851
/* {{Code|p["NazwaStronyAdresu"](frame,...)}} */
540052
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hiubwh461fv5mbkr9hinxfquw3ucekx
540053
540052
2026-04-18T16:28:16Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540053
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua'>
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/w/index.php?title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona_główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
dg6dwree9bpk2au4zz7lbl4eiosxpbu
540054
540053
2026-04-18T16:29:21Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540054
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua'>
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/w/index.php?title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona_główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
clmiapihn3qaguma3m7etep10hf4nuf
540055
540054
2026-04-18T16:30:04Z
Persino
2851
/* {{Code|p["NazwaStronyAdresu"](frame,...)}} */
540055
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua'>
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/w/index.php?title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, parametry usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona_główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ic6snrj5tljdvi23zzq9eb0t6ll2qgg
540056
540055
2026-04-18T16:30:55Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540056
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua'>
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/w/index.php?title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona_główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
n33rknvxut9mzbon5qndir2h6vh2ssr
540057
540056
2026-04-18T16:32:11Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540057
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua'>
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/w/index.php?title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona_główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
n2883upe5xywksj14rd6m2mdtn32ws3
540058
540057
2026-04-18T16:34:09Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540058
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua'>
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona_główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
obxzbaupga4ezgtbsayshhb8fny6hik
540059
540058
2026-04-18T16:36:11Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540059
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5jcomo6kcp6xchdihh6ahw07xxf10ho
540060
540059
2026-04-18T16:38:00Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540060
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
tm13yh516s18aqcvn7x236zljbquz7f
540063
540060
2026-04-18T16:42:58Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540063
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z nazwą strony adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ozp69v2hsb37xnnbdeml8kbm3t83vz3
540064
540063
2026-04-18T16:45:12Z
Persino
2851
/* {{Code|p["NazwaStronyAdresu"](frame,...)}} */
540064
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s9wqqq9f72g3nofhej3svmnqycltvob
540065
540064
2026-04-18T16:46:37Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540065
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hwdgp29zxb5nf8y1x3uyyira4eig79x
540066
540065
2026-04-18T17:16:03Z
Persino
2851
/* {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} */
540066
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
56zek0b8tnl9tp6xibwu2afhehmkndj
540067
540066
2026-04-18T17:17:42Z
Persino
2851
/* {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} */
540067
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sano1v6ksjz75y0y3ir3ht2eodsf0zt
540068
540067
2026-04-18T17:39:57Z
Persino
2851
/* {{Code|p["ParametryStronyAdresu"](frame,...)}} */
540068
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
oqznxen38m7iwms4p4hi6x1pihjpoa8
540069
540068
2026-04-18T17:40:41Z
Persino
2851
/* {{Code|p["NazwaStronyAdresu"](frame,...)}} */
540069
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
dy0lvvjpru3bot41f0t1z2ts203epct
540070
540069
2026-04-18T17:41:09Z
Persino
2851
/* {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} */
540070
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
63pm49ru72cr5m0fpuoy9ep2kwuuh90
540071
540070
2026-04-18T17:41:50Z
Persino
2851
/* {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} */
540071
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p["URLStrona"](frame)}} ==
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
klxt0xbo3hx4hoj4rhwqkgasmf0x8fb
540077
540071
2026-04-19T06:27:55Z
Persino
2851
/* {{Code|p["URLStrona"](frame)}} */
540077
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="https://pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
07gz89rtlyqrdryuiredf33dzqq6wgc
540078
540077
2026-04-19T06:32:07Z
Persino
2851
/* {{Code|p.URLStrona(frame)}} */
540078
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
t2odjiojw7y23mijyxewh9kaw5r4h71
540079
540078
2026-04-19T07:08:18Z
Persino
2851
/* {{Code|p.URLStrona(frame)}} */
540079
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
o5z6859bnv9ec6amng6sr5ecj0h76ot
540080
540079
2026-04-19T07:10:24Z
Persino
2851
/* {{Code|p.URLStrona(frame)}} */
540080
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
dicw57q6vvbkeakkyhk5pxssarfug9g
540082
540080
2026-04-19T07:30:18Z
Persino
2851
/* {{Code|p["UrlBezProtokołu"](frame)}} */
540082
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres,protokul,sposob=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokul,sposob=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokul,sposob=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
lqhcbkt1mgn2ejrzftg0ci7wdbuhu7z
540083
540082
2026-04-19T07:31:53Z
Persino
2851
/* {{Code|p["UrlBezProtokołu"](frame)}} */
540083
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rs3y5hl6bmjg115cehafi5yd0bwf3gb
540084
540083
2026-04-19T07:43:39Z
Persino
2851
/* {{Code|p["UrlBezProtokołu"](frame)}} */
540084
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6tzja5e95k1w9alo80bkcepctdvwjj3
540085
540084
2026-04-19T07:44:21Z
Persino
2851
/* {{Code|p.URLStrona(frame)}} */
540085
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
0lrcwwfmnyokczfxne6737emjwd1chw
540086
540085
2026-04-19T07:47:15Z
Persino
2851
/* {{Code|p["UrlBezProtokołu"](frame)}} */
540086
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres,protokol,sposob=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s0e2kjsgbeplnk5qx1tve1m4r5zzbma
540090
540086
2026-04-19T07:59:44Z
Persino
2851
/* {{Code|p["UrlBezProtokołu"](frame)}} */
540090
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s95dj7eixztiex7ah3a3hpml1sig9w7
540092
540090
2026-04-19T09:12:11Z
Persino
2851
/* {{Code|p.DecodeKoduHTMLZnaku(tekst)}} */
540092
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe, dziesiętne i szestnastkowe na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} -tekst do zamienienia z kodami {{Strong|HTML}} do zamienienia na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4v7qho2vg0fozjpcz9l4iy5qu8qmj1z
540093
540092
2026-04-19T09:16:31Z
Persino
2851
/* {{Code|p.DecodeKoduHTMLZnaku(tekst)}} */
540093
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} do zamienienia na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mwsnchgubqql6nl5c1n17k5o83i3agn
540094
540093
2026-04-19T09:20:47Z
Persino
2851
/* {{Code|p.DecodeKoduHTMLZnaku(tekst)}} */
540094
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7bna7qmouuq0ng6mb5250yicyssexyz
540097
540094
2026-04-19T09:29:45Z
Persino
2851
/* {{Code|p.ZamianaEncodeTekst(tekst)}} */
540097
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje według: {{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4il1ko9f2kyt7wmk7sbtqxonfv0w1pc
540099
540097
2026-04-19T09:30:36Z
Persino
2851
/* {{Code|p.ZamianaEncodeTekst(tekst)}} */
540099
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
d2ppt4zxxqxbli0g7qy7zxvsomqnlw0
540101
540099
2026-04-19T09:40:19Z
Persino
2851
/* {{Code|p.ZamianaEncodeTekst(tekst)}} */
540101
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
bdk13iqr4ff385r42q6z30g7coq83av
540102
540101
2026-04-19T09:51:13Z
Persino
2851
/* {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} */
540102
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
local wzor="[^/%?%=&:%#]+";
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jy3dlch8q45shrct7wtfpng1mf81mbw
540103
540102
2026-04-19T09:53:53Z
Persino
2851
/* {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} */
540103
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
0oak8kq9l7u9atbmv57jzxtrar6fwtj
540104
540103
2026-04-19T10:02:11Z
Persino
2851
/* {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} */
540104
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pte7c17exydcnhvwjv1zzc1s0diskzc
540105
540104
2026-04-19T10:31:42Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540105
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona_główna&num;To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartośści tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona_główna&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",0;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
dc4cesb8v3ctkc1dephldo0ovfcpr41
540107
540105
2026-04-19T10:45:51Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540107
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona_główna#To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartośści tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona_główna&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",1;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4xsao4zczuabl40hp7dspfqwelh9eap
540108
540107
2026-04-19T10:46:48Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540108
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona_główna#To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartośści tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona_główna&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",1;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7jbjq90j8qjpiuhaouz3nh7sqeva6cr
540110
540108
2026-04-19T10:50:33Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540110
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna#To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartośści tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",1;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ir82ktqnydyhp2n91fsp7kojhbo065y
540111
540110
2026-04-19T10:51:55Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540111
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna#To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",1;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
29kn2mlhugv9e21qh5f0kbpt8qpubhm
540112
540111
2026-04-19T10:54:39Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540112
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",1;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
adog9zsudq8mxwwo9pteyf0en2exsht
540113
540112
2026-04-19T10:55:48Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540113
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}}. Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
p96yl3rbld57lmu3fm4f2k8kxs4exvm
540114
540113
2026-04-19T10:58:22Z
Persino
2851
/* {{Code|p.StronaParametryIdentyfikacja(adres)}} */
540114
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}} (jeżeli w adresie kody istnieją). Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}} (jeżeli w adresie kody w ogóle istniały).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
fqnrtkgub8tkhdfxafr1s242cas07s7
540117
540114
2026-04-19T11:44:39Z
Persino
2851
/* {{Code|p.TworzenieAdresuHtml(strona,...)}} */
540117
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}} (jeżeli w adresie kody istnieją). Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}} (jeżeli w adresie kody w ogóle istniały).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
Funkcja łączy stronę, parametryi nagłówek strony w pełną nazwę strony (adresu), dalej jesst uruchamiana funkcja ddekodująca ciagi znakowe: {{Code|{{Nowiki|&#}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TworzenieAdresuHtml(strona,parametry,naglowek,ile)...end;
</syntaxhighlight>
Parametry:
* {{Code|strona}} - nromalny adres strony, bez parametrów i nagłówka,
* {{Code|parametry}} - parametry strony w formacie {{Code|nazwa{{=}}wartość}} oddzielone od siebie znakiem {{Code|<nowiki>&</nowiki>}},
* {{Code|nagłówek}} - nagłówek linkujący do {{Code|id}} jakiegos elementyna stronie,
* {{Code|ile}} - jeśli większe od zero lub {{Code|nil}}, czy {{Code|false}}, funkcja dekoduje kody {{Strong|HTML}} {{Code|{{Nowiki|&#}}}} do {{Code|{{Nowiki|#}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
local adres=html_modul.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
</syntaxhighlight>
Otrzymany pełny pojedynczy adres strony z normalnym adresem sstrony z parametrami i nagłówkiem jest ukryta:
<syntaxhighlight lang="lua">
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2o6le5mjk0kybknuxktrppznjn9ic48
540118
540117
2026-04-19T11:46:20Z
Persino
2851
/* {{Code|p.TworzenieAdresuHtml(strona,...)}} */
540118
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}} (jeżeli w adresie kody istnieją). Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}} (jeżeli w adresie kody w ogóle istniały).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
Funkcja łączy stronę, parametryi nagłówek strony w pełną nazwę strony (adresu), dalej jesst uruchamiana funkcja ddekodująca ciagi znakowe: {{Code|{{Nowiki|&#}}}}. Funkcja wykorzystuje do dekodowania tego {{Code|{{sr|#p.DecodeHashKoduHtmlTekstu(tekst,ile)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TworzenieAdresuHtml(strona,parametry,naglowek,ile)...end;
</syntaxhighlight>
Parametry:
* {{Code|strona}} - nromalny adres strony, bez parametrów i nagłówka,
* {{Code|parametry}} - parametry strony w formacie {{Code|nazwa{{=}}wartość}} oddzielone od siebie znakiem {{Code|<nowiki>&</nowiki>}},
* {{Code|nagłówek}} - nagłówek linkujący do {{Code|id}} jakiegos elementyna stronie,
* {{Code|ile}} - jeśli większe od zero lub {{Code|nil}}, czy {{Code|false}}, funkcja dekoduje kody {{Strong|HTML}} {{Code|{{Nowiki|&#}}}} do {{Code|{{Nowiki|#}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
local adres=html_modul.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
</syntaxhighlight>
Otrzymany pełny pojedynczy adres strony, z normalnym adresem strony z parametrami i nagłówkiem, jest ukryta:
<syntaxhighlight lang="lua">
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jj2645lktjyk8nl5jgirtkomw5f3xex
540119
540118
2026-04-19T11:47:44Z
Persino
2851
/* {{Code|p.TworzenieAdresuHtml(strona,...)}} */
540119
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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 html_modul=require("Module:Html");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł zawiera funkcje do posługiwania się kodami {{Strong|HTML}}, zamieniania znaków na ich kody, i odwrotnie. Kodowaniem i dekodowaniem {{Strong|URL}} adresów internetowych, parametrów i nagłówków. Rozdzielaniem pełnych adresów na nazwę strony, zapytanie i nagłówek, odpowiednich ich kodowaniem, a potem ich łącznie z powrotem do innej wartości zwykle niż wcześniej tego samego ciągu.
== {{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](frame)}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NAZWASERWISU|link=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)}} ==
Zamienia w tekście znaki kodów {{Strong|HTML}} dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{tekst=tekst,};
-- Równoważne: local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"]{args={tekst=tekst,},};
local tekst2=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Oto jest link: [[user:użytkownik|(Użytkownik)]].";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneTaguNowiki(frame)}} ==
Funkcja zamienia znaki specjalne, w zawartości pomiędzy tagami tagu {{Tag|nowiki}} (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}}), wikikodu na kody {{Strong|HTML}}. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo {{Code|<nowiki>=<>[]</nowiki>}} są częścią tagów mechanizmu {{Strong|HTML}}, a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i {{Code|<nowiki>{}|</nowiki>}}, a elementy {{Code|<nowiki>!{}|=</nowiki>}} są one częścią wiki-tabelek mechanizmu {{Code|MediaWiki}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem {{Code|<nowiki>=</nowiki>}} i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu {{Strong|HTML}}, ani {{Strong|MediaWiki}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneTaguNowiki{args={tekst=tekst,},};
local tekst2=html_modul.ZnakiSpecjalneTaguNowiki(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="<span id=\"toc\">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.";
</syntaxhighlight>
== {{Code|p.ZnakiSpecjalneWikiLinku(frame)}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody {{Strong|HTML}}. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZnakiSpecjalneWikiLinku{args={tekst=tekst,},};
local html2=html_modul.ZnakiSpecjalneWikiLinku(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeSpecjalneZnakiHtml(frame)}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez {{Code|<nowiki>#</nowiki>}} na samym początku) na specjalne kody {{Strong|HTML}}, aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|html}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|html2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local html="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{html=html,};
-- Równoważne: local html2=html_modul.EncodeSpecjalneZnakiHtml{args={html=html,},};
local html2=html_modul.EncodeSpecjalneZnakiHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local html2="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
</syntaxhighlight>
== {{Code|p.EncodeZnakProloguList(frame)}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod {{Strong|HTML}}, a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub początku określanym przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm {{Strong|MediaWiki}} generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="\n* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.EncodeZnakProloguList{args={tekst=tekst,},};
local tekst2=html_modul.EncodeZnakProloguList(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="* Oto jest pierwszy element listy,\n*: Oto jest drugi element listy.";
</syntaxhighlight>
== {{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona?action=edit§ion=2";
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.ParametryPrzypisaniaZnakowegoEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona?action=edit&section=2";
</syntaxhighlight>
== {{Code|p.PrzypisanieZnakoweEncodeHtml(frame)}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), aby nie była traktowana jako nazwana ze względu na występowanie znaku równości {{Code|{{=}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="Wikibooks:Strona=Parametry";
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml{args={tekst=tekst,},};
local tekst2=html_modul.PrzypisanieZnakoweEncodeHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="Wikibooks:Strona=Parametry";
</syntaxhighlight>
Użycie w szablonie w postaci parametry nienazwanego (numerowanego):
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
może powodować pewne problemy, ta zmienna nie zostanie nazwana jako nienazwana, tylko jako nazwana o nazwie parametru {{Code|Wikibooks:Strona}} i wartości {{Code|Parametry}}. Aby tego uniknąć, wypadałoby napisać to wywołanie:
<syntaxhighlight lang="mediawiki">
{{Nazwa szablonu|Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wtedy to zostanie na pewno zostanie potraktowane jako zmienna nienazwana (numerowana). Szczególnie to jest ważne, gdy używamy funkcji: {{Code|{{sr|#p["Rozwiń"](frame)|p=Ramka}}}}, do rozwijania parametrów. W takim przypadku trzeba używać funkcji: {{Code|{{sr|#p.PrzypisanieZnakoweEncodeHtml(frame)|p=Html}}}}, aby zamienić przypisanie na parametr numerowany.
== {{Code|p.ZamianaDwukropkaNaKodHtml(frame)}} ==
Zamienia dwukropki na kody {{Strong|HTML}}, tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki(frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|tekst}} - zmienna, pod którym wyszukuje tekst do zamiany na kody klasy znakowej do kodu {{Strong|HTML}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą {{Code|tekst2}} poniżej.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="subst:msg:Szablon:Nazwa_strony";
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{tekst=tekst,};
-- Równoważne: local tekst2=html_modul.ZamianaDwukropkaNaKodHtml{args={tekst=tekst,},};
local tekst2=html_modul.ZamianaDwukropkaNaKodHtml(tekst);
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="subst:msg:Szablon:Nazwa_strony";
</syntaxhighlight>
== {{Code|p.KodHTMLZnaku(frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - zmienna, pod którym jest znak do zamiany na kod {{Strong|HTML}},
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}}, a znak {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local znak="k";
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{[1]=znak,};
-- Równoważne: local tekst2=html_modul.KodHTMLZnaku{args={[1]=znak,},};
local tekst2=html_modul.KodHTMLZnaku(znak);
-- Równoważne: local tekst3=html_modul.KodHTMLZnaku{[1]=znak,[1]="tak",};
local tekst3=html_modul.KodHTMLZnaku{args={[1]=znak,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k";
local tekst3="&#107;";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodHTMLZnaku|k}}}} → {{Tt|{{KodHTMLZnaku|k}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k}}}}}}
* {{Code|{{s|KodHTMLZnaku|k|tak}}}} → {{Tt|{{KodHTMLZnaku|k|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodHTMLZnaku|k|tak}}}}}} → {{Tt|{{Nowiki|{{KodHTMLZnaku|k|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k"; -->
{{#invoke:Html|KodHTMLZnaku|k|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "&#107;"; -->
{{#invoke:Html|KodHTMLZnaku|k|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p["KodyHTMLZnakówWikiCiągu"](frame)}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody {{Strong|HTML}}, wedle podanych parametrów lub po zamianie znak {{Code|{{Nowiki|&}}}} jest zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} na {{Code|{{Nowiki|#}}}}. Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry ramki funkcji tablicy transportu:
* {{Code|1}} - ciąg, pod którym są możliwe ściśle określone znaki na kod {{Strong|HTML}}, ciąg ze znakami wiki w UTF8,
* {{Code|2}} - czy znak {{Code|{{Nowiki|&}}}} ma być zamieniany na {{Code|{{Nowiki|&}}}} i {{Code|<nowiki>#</nowiki>}} na {{Code|{{Nowiki|#}}}}.
Jeżeli funkcja znalazła tablicę ramki {{Code|frame.args}}, to wyszukuje w niej parametry, a jeżeli nie, to w {{Code|frame}}, a jeśli frame nie jest tabelką, tylko tekstem, to to zwraca jej zawartość tylko za pierwszym razem, a za drugim razem już {{Code|nil}}, a ta funkcja w takim przypadku raz wyszukuje ten argument, ale wtedy musi być podany parametr {{Parametr|wyspecjalizowana|tak}}, gdy mamy zmienną {{Code|frame.args}}, a jeżeli ten argument nie został podany z wartością niepustą, wtedy są wyszukiwane elementy z {{Code|frame:getParent().args}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="k{{s";
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,};
-- Równoważne: local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,},};
local tekst2=html_modul["KodyHTMLZnakówWikiCiągu"](znak);
-- Równoważne: local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{[1]=tekst,[1]="tak",};
local tekst3=html_modul["KodyHTMLZnakówWikiCiągu"]{args={[1]=tekst,[2]="tak",},};
</syntaxhighlight>
Wynikiem działania funkcji jest:
<syntaxhighlight lang="lua">
local tekst2="k{{s";
local tekst3="k&#123;&#123;s";
</syntaxhighlight>
Szablonowo taką zamianę możemy napisać:
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s|tak}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s|tak}}}}}}
Równie dobrze możemy napisać takie wywołania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="mediawiki">
<!-- Wyświetla wynik: "k{{s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|wyspecjalizowana=tak}}
<!-- Wyświetla wynik: "k&#123;&#123;s"; -->
{{#invoke:Html|KodyHTMLZnakówWikiCiągu|k{{((}}s|tak|wyspecjalizowana=tak}}
</syntaxhighlight>
== {{Code|p.EncodeId(...)}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}, i cały ciąg od specjalnych znaków jest transformowany przez funkcję {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
Parametry nieramkowe normalne funkcji:
* {{Code|id}} - ciąg do przeinaczenia,
* {{Code|bez_transformacji}} - gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_moablon:Link_wewn%C4dul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa";
</syntaxhighlight>
Gdy: {{Code|bez_transformacji{{=}}true}}, funkcja działa jak: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml(frame)|p=Html}}}}, ale wtedy {{Code|frame{{=}}id}}, a przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
Usuwa z tekstu znak {{Code|8206}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tutaj jest zakodowany znak, o kodzie dziesiętnym "8206", składający się z trzech bajtów: "â", "€" i "Ž";
local tekst="Oto jest znak: ‎.";
-- Zamiana tego kodu na znak;
tekst=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tekst);
-- Tekst bez tego znaku, bo on został w tym wywołaniu całkowicie usunięty;
tekst=html_modul.UsuwanieSpecjalnychNieschematycznychSymboli(tekst);
</syntaxhighlight>
Wynikiem tego kodu jest wartość ukryta pod zmienną:
<syntaxhighlight lang="lua">
local tekst="Oto jest znak: .";
</syntaxhighlight>
== {{Code|p.EncodeWiki(...)}} ==
Funkcja transformuje kody {{Strong|HTML}} do znaku przy pomocy funkcji {{Code|{{sr|#p["TransformacjaKoduHtmlDoZnakuCiągu"](frame)|p=Html}}}}, usuwa nieschematyczne znaki o kodzie {{Code|{{Nowiki|‎}}}} dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}, dalej zaraz funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.encode|n=mw.text.encode}}}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: \"‎\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
local parametr2=html_modul.EncodeWiki(parametr,false);
local parametr3=html_modul.EncodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartości:
<syntaxhighlight lang="lua">
local parametr2="Oto_jest_znak:_""_i_inne_znaki_w_URL:_"https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewnętrzny&action=edit#Obsługa;"";
local parametr3="__Oto jest znak: "" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
</syntaxhighlight>
== {{Code|p.DecodeWiki(...)}} ==
Funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.text.decode|n=mw.text.decode}}}} dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{Code|{{sr|#p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)|p=Html}}}}, następnie działa opcjonalnie funkcją, usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu i zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolną spacją na podstawie {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:
* {{Code|parametr}} - tekst, który chcemy zakodować,
* {{Code|czy_nie_odstepy}} - czy nie ma na tekst podziałać funkcją {{Code|{{sr|#p["Odstępy"](frame)|p=Parametry}}}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local parametr="__Oto jest znak: "‎" i inne_znaki_w_URL: "https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;"__";
local parametr2=html_modul.DecodeWiki(parametr,false);
local parametr3=html_modul.DecodeWiki(parametr,true);
</syntaxhighlight>
Wynikiem działania tej funkcji jest parametr {{Code|parametr2}} i {{Code|parametr3}}, którego wartość:
<syntaxhighlight lang="lua">
local parametr2="Oto jest znak: \"\" i inne znaki w URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"";
local parametr3="__Oto jest znak: \"\" i inne_znaki_w_URL: \"https://pl.wikibooks.org/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa;\"__";
</syntaxhighlight>
== {{Code|p.IsEncodedHtml(...)}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do sprawdzenia - wymagany,
* {{Code|encode}} - gdy jest sprawdzana tylko obecność znaku {{Code|%}},
* {{Code|encode_real}} - gdy jest sprawdzana, nie tylko obecność znaku {{Code|%}}, też czy {{Code|parametr}} jest ciągiem podporządkowanym wyrażeniu regularnemu {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Pierwszy przykład:
local parametr1="abc?edit=action";
-- Wartość zmiennej obliczona jest: czy_tak1=true, czyli parametr1 można uznać za zakodowany;
local czy_tak1=html_modul.IsEncodedHtml(parametr1,true,false);
-- Drugi przykład:
local parametr2="a%YTbc?edit=action;";
-- Wartość zmiennej obliczona jest: czy_tak2=false; czyli parametr2można uznać, że nie jest zakodowany;
local czy_tak2=html_modul.IsEncodedHtml(parametr2,true,false);
</syntaxhighlight>
== {{Code|p.EncodeHtml(...)}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, a jeżeli nie to zostanie wywołana funkcja: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|parametr}} - parametr do transformacji kodowania,
* {{Code|encode}} i {{Code|encode_real}} - te parametry to samo oznaczają, co w funkcji: {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - to samo oznacza, co w funkcji {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
{{Hr}}
Przykłady pierwszy - podany tekst już zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="abc___?action=edit&section=21#nagłówek";
-- Tekst zostanie uznany za zakodowany, sprawdzane, czy on ma znaki "%", czyli on tego nie posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że podwojone myślniki dolne zostały zamienione na pojedyncze, kody HTML zostały zamienione na znaki, a znak "&", czyli "&" został zamieniony na "&";
local parametr2="abc_?action=edit&section=21#nagłówek";
</syntaxhighlight>
{{Hr}}
Przykłady drugi - podany tekst jeszcze nie zakodowany:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst do zakodowania;
local parametr="a%YTbc___?action=edit;";
-- Tekst zostanie uznany za niezakodowany, czy on ma znaki "%", czyli on to posiada;
local parametr2=html_modul.EncodeHtml(parametr,true,false,false);
</syntaxhighlight>
Wynik zmiennej {{Code|parametr2}} jest ukryty pod jego wartością:
<syntaxhighlight lang="lua">
-- Widzimy, że znak "%" został zakodowany funkcją mw.uri.encode, podobnie tą funkcją zostały zakodowane: "?" i "=";
local parametr2="a%25YTbc___%3Faction%3Dedit;";
</syntaxhighlight>
== {{Code|p.DecodeHtml(...)}} ==
Funkcja sprawdza, czy {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru {{Code|spacje}}, to odpowiednio zostanie wywołana {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
Parametry:z
* {{Code|parametr}} - parametr do odkodowania,
* {{Code|spacje}} - gdy parametr odpowiada {{Code|true}} używa funkcji {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}}, w przeciwnym wypadku: {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}, ale wpierw musi zostać wywołana funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}},
* {{Code|encode}} i {{Code|encode_real}} - te parametry są używane przez funkcje {{Code|{{sr|#p.IsEncodedHtml(...)|p=Html}}}},
* {{Code|czy_nie_odstepy}} - gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{Code|{{sr|#p.DecodeWiki(...)|p=Html}}}} lub {{Code|{{sr|#p.EncodeWiki(...)|p=Html}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Parametr zawiera znaki zakodowane funkcją mw.uri.encode i kody HTML znaków;
local parametr="a%25YTbc___%3Faction%3Dedit&section=23;";
local parametr2=html_modul.DecodeHtml(parametr,true);
</syntaxhighlight>
Wynik funkcji jest ukryty pod adresem:
<syntaxhighlight lang="lua">
-- Funkcja została uznana za zakodowaną i odkodowano ją funkcją mw.uri.decode, dalej dwa dolne myślniki zostały zamienione na jedną spację, a kody HTML zostały zamienione na odpowiednie znaki;
local parametr2="a%YTbc ?action=edit§ion=23;";
</syntaxhighlight>
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
Szuka atrybutów w cudzysłowach i w nich elementy {{Code|<nowiki><>&</nowiki>}} zamienia na kody {{Strong|HTML}}, a także znaki lewego ukośnika {{Code|<nowiki>\</nowiki>}} też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|znacznik}} - atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody {{Strong|HTML}}.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<span id=\"Znaki<>\\\"\">To jest zawartość</span>";
local tekst2=html_modul.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(tekst);
</syntaxhighlight>
Wartość tej zmiennej jest ukryta pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że został sam jeden atrybut ze znakami HTML wewnątrz;
local tekst2="<span id="Znaki<>\"">To jest zawartość</span>";
</syntaxhighlight>
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
Zamienia kody {{Strong|HTML}}, tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy {{Code|{{Nowiki|\"}}}} na {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
Parametry:
* {{Code|value}} - parametr do transformacji niektórych kodów {{Strong|HTML}} na znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\"nazwa\"\">Zawartość znacznika</a>";
local tekst2=html_modul.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(tekst);
</syntaxhighlight>
Otrzymana zawartość jest pod {{Code|tekst2}}:
<syntaxhighlight lang="lua">
-- Widzimy, że kody odpowiednie HTML, tzn.: "<", ">" i "&" zostały zamienione na odpowwiednie znaki;
local tekst2="<a href=\"/wiki/Strona?tytan1=1&tytan2=2\" id=\"Strona:\\\"nazwa\\\"\">Zawartość znacznika</a>";
</syntaxhighlight>
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_nie_dolne_myslniki}} - gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy {{Code|czy_nie_dolne_myslniki}} równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_nie_dolne_myslniki}} (parametr funkcji), {{Code|2}} lub {{Code|z nie dolnymi z myślnikami}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local naglowek=html_modul["NagłówekStronyAdresu"](strona,true,tabela_nazw_adresu);
local naglowek=html_modul["NagłówekStronyAdresu"]({strona=strona,["z nie dolnymi z myślnikami"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony, nagłówek usuwając z niego myślniki dolne i trimując zawartość;
local naglowek="Nagłówek strony";
</syntaxhighlight>
== {{Code|p["ParametryStronyAdresu"](frame,...)}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["ParametryStronyAdresu"](strona,true,tabela_nazw_adresu);
local parametry=html_modul["ParametryStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony parametry, usuwając z niego zbędne odstępy i myślniki dolne;
local parametry="action=edit§ion=2";
</syntaxhighlight>
== {{Code|p["NazwaStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony,
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["NazwaStronyAdresu"](strona,true,tabela_nazw_adresu);
local nazwa_strony=html_modul["NazwaStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę strony adresu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="https://pl.wikibooks.org/wiki/Strona_główna";
</syntaxhighlight>
== {{Code|p["NazwaStronyZParametrówStronyAdresu"](frame,...)}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}} lub {{Code|parametry}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="title=Strona ___ główna & action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
-- Równoważne: local parametry=html_modul["NazwaStronyZParametrówStronyAdresu"](strona,true);
local nazwa_strony=html_modul["NazwaStronyZParametrówStronyAdresu"]({parametry=strona,["czy naprawiać"]=true,},nil);
</syntaxhighlight>
Wartość nagłówka jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z adresu strony nazwę artykułu, usuwając z niego zbędne odstępy i myślniki dolne;
local nazwa_strony="Strona główna";
</syntaxhighlight>
== {{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](frame,...)}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|frame}} - tablica ramki funkcji tablicy transportu,
* {{Code|czy_naprawiaj}} - parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
* {{Code|tabela_nazw_adresu}} - tabela nazw zespołu funkcji, która obejmuje funkcje {{Code|{{sr|#p["NagłówekStronyAdresu"](frame,...)|p=Html}}}}, {{Code|{{sr|#p["ParametryStronyAdresu"](frame,...)|p=Html}}}} i {{Code|{{sr|#p["NazwaStronyAdresu"](frame,...)|p=Html}}}}.
Parametry funkcji ramki parametry {{Code|frame}}:
* {{Code|1}}, {{Code|strona}} lub {{Code|nazwa jednostki}} - nazwa jednostki (strony), tzn. jego adres,
* {{Code|czy_naprawiaj}} (parametr funkcji), {{Code|2}} lub {{Code|czy naprawiać}} - znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykład:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona="https://pl.wikibooks.org/wiki/Strona ___ główna ? action____=____edit ____&____ section = 2 # ____ Nagłówek____________strony ";
local tabela_nazw_adresu={};
-- Równoważne: local parametry=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"](strona,true,tabela_nazw_adresu);
local adres=html_modul["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]({strona=strona,["czy naprawiać"]=true,},nil,tabela_nazw_adresu);
</syntaxhighlight>
Wartość pełnego adresu strony poprawiona jest w zmiennej:
<syntaxhighlight lang="lua">
-- Wydzielono z pełnego adresu strony adres, parametry i nagłówek, naprawione i złączone ze sobą w pełny poprawiony adres;
local adres="https://pl.wikibooks.org/wiki/Strona_główna?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.URLStrona(frame)}} ==
Funkcja z adresu '''URL''' wydziela nazwę serwerai nazwę strony. On nie może zawierać w sobie protokołu, tylko musi zaczynać od {{Code|<nowiki>//</nowiki>}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.URLStrona(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony,
* {{Code|2}} lub {{Code|ukośnik}} - czy do nazwy strony ma wliczać ukośnik.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html"):
local url="//pl.wikibooks.org/wiki/Strona_artykułu";
local serwer,nazwa=html_modul.URLStrona{url=url,["ukośnik"]=true,};
</syntaxhighlight>
Wartości zmiennych kryją się pod:
<syntaxhighlight lang="lua">
-- Widzimy, że nazwa serwera jest bez prawych ukośników;
local serwer="pl.wikibooks.org";
-- Nazwa strony zaczyna się bez ukośnika, bo powiedzieliśmy funkcji, by nie brał prawych ukośników, które są na początku nazwy strony, bez nazwy serwera i protokołu, ale w sobie może mieć on, ale nie musi;
local nazwa="wiki/Strona_artykułu";
-- Gdyby było ["ukośnik"]=false, to wtedy otrzymalibyśmy inny wynik, czyli: local nazwa="/wiki/Strona_artykułu";
</syntaxhighlight>
== {{Code|p["UrlBezProtokołu"](frame)}} ==
Funkcja adresowi z protokołem usuwa to właśnie, a jak podamy adres „mail”, to podaje nazwę tego adresu, bez niego. Drugą zwracaną nazwą jest nazwa protokołu,a jak się nie da go wyznaczyć, to funkcja zwraca wartość {{Code|nil}}. Trzecia wartość, to numer sposoby, a jeżeli żaden sposób nie pasuje, to ta wartość jest {{Code|-1}}, a gdy adres mail {{Code|1}}, dla adresu z protokołem {{Code|2}}, a dla adresu bez protokołu {{Code|3}}. Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr(frame,...)|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UrlBezProtokołu"]=function(frame)...end;
</syntaxhighlight>
Parametry ramki:
* {{Code|1}} lub {{Code|url}} - adres strony, ewentualnie opcjonalnym protokołem.
Kolejność ważności parametrów ramki jest, w jakiej kolejności są brane parametry, są w kolejności, w jakim te one przedstawiono.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local mail="użytkownik@skrzynka.org";
-- Równoważnie: local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"](mail);
local adres1,protokol1,sposob1=html_modul["UrlBezProtokołu"]{url=mail,};
---
local url="https://pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"](url);
local adres2,protokol2,sposob2=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="//pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"](url);
local adres3,protokol3,sposob3=html_modul["UrlBezProtokołu"]{url=url,};
---
local url="pl.wikibooks.org/wiki/Strona";
-- Równoważnie: local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"](url);
local adres4,protokol4,sposob4=html_modul["UrlBezProtokołu"]{url=url,};
</syntaxhighlight>
Wyniki otrzymane z powyższych przykładów są:
<syntaxhighlight lang="lua">
local adres1,protokol1,sposob1="//skrzynka.org","mail",1;
local adres2,protokol2,sposob2="//pl.wikibooks.org/wiki/Strona","https",2;
local adres3,protokol3,sposob3="//pl.wikibooks.org/wiki/Strona",nil,3;
local adres4,protokol4,sposob4="//pl.wikibooks.org/wiki/Strona",nil,-1;
</syntaxhighlight>
== {{Code|p.DecodeKoduHTMLZnaku(tekst)}} ==
Zamienia kody {{Strong|HTML}}, tzn. literowe (ogólny wzór {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór {{Code|<nowiki>&#(%d+);</nowiki>}}) i szestnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst}} - tekst do zamienienia z kodami {{Strong|HTML}} na odpowiednie znaki.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst z kodami HTML: literowymi, dziesiętnymi i szestnastkowymi;
local tekst="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
-- Wywołanie funkcji odkodujący kody HTML;
local tekst2=html_modul.DecodeKoduHTMLZnaku(tekst);
</syntaxhighlight>
Otrzymany wynik jest pod zmienną:
<syntaxhighlight lang="lua">
-- Widzimy, że tekst został zdekodowany ze znaków HTML;
local tekst2="Oto jest link: [[Strona|Nazwa linku]], a w nim spacje niełamliwe i inne znaki: z alfabetu greckiego jak: αΑβΒγΓδΔεΕζΖηΗθΘιΙκΚλΛμΜνΝξΞοΟπΠρΡσΣτΤυΥφΦχΧψΨωΩ";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeTekst(tekst)}} ==
Adres strony dekoduje funkcją: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.decode|n=mw.uri.decode}}}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.uri.encode|n=mw.uri.encode}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
local tekst2=html_modul.ZamianaEncodeTekst(tekst);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2}}:
<syntaxhighlight lang="lua">
local tekst2="https%3A%2F%2Fpl.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DSzablon%3ALink_wewn%C4%99trzny%26action%3Dedit%23Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{Code|{{sr|#p.ZamianaEncodeTekst(tekst)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor)...end;
</syntaxhighlight>
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
-- Tekst nie do końca zakodowany wydzielonego według poniższego wzoru;
local tekst="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obsługa";
-- Wzór, który wydziela części do kodowania jeszcze bardziej niż były na samym początku;
local wzor="[^/%?%=&:%#]+";
-- Wywołanie funkcji kodującej;
local tekst2=html_modul.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor);
</syntaxhighlight>
Wynikiem funkcji, co kryje się pod zmienną {{Code|tekst2:}}
<syntaxhighlight lang="lua">
-- Zakodowało jeszcze więcej niż na samym początku było zakodowane;
local tekst2="https://pl.wikibooks.org/w/index.php?title=Szablon:Link_wewn%C4%99trzny&action=edit#Obs%C5%82uga";
</syntaxhighlight>
== {{Code|p.StronaParametryIdentyfikacja(adres)}} ==
Funkcja z całkowitego adresu składający się z adresu właściwego, parametrów i nagłówka, rozdzielane jest na trzy części, z których się składa. Funkcja sprawdza, czy jakikolwiek kody {{Strong|HTML}} występują w pełnym adresie strony, jeżeli są to przedtem koduje jeszcze lepiej kody znaków {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{Code|{{sr|#p.EncodeHashKoduHtmlTekstu(tekst)|p=Html}}}}, a później w kodach {{Strong|HTML}} znaki {{Code|<nowiki>&</nowiki>}} i {{Code|<nowiki>#</nowiki>}} są kolejno zamieniane na {{Code|{{Nowiki|&}}}} i {{Code|{{Nowiki|#}}}} funkcją {{Code|{{sr|#p.EncodeTempHashKoduHtmlTekstu(tekst)|p=Html}}}} (jeżeli w adresie kody istnieją). Funkcja rozdziela to na trzy części, a później odkodowuje każdą część funkcją: {{Code|{{sr|#p.DecodeTempHashKoduHtmlTekstu(tekst,...)|p=Html}}}} (jeżeli w adresie kody w ogóle istniały).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacja(adres)...end;
</syntaxhighlight>
Parametry:
* {{Code|adres}} - adres do potrzelenia na trzy części.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
-- ile,czy w adresie są w ogóle kody HTML odpowiadające znakowo "#";
local strona,parametry,naglowek,ile=html_modul.StronaParametryIdentyfikacja(adres);
</syntaxhighlight>
Otrzymane wartości tych zmiennych kryją się pod adresami:
<syntaxhighlight lang="lua">
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
</syntaxhighlight>
== {{Code|p.TworzenieAdresuHtml(strona,...)}} ==
Funkcja łączy stronę, parametryi nagłówek strony w pełną nazwę strony (adresu), dalej jest uruchamiana funkcja ddekodująca ciagi znakowe: {{Code|{{Nowiki|&#}}}}. Funkcja wykorzystuje do dekodowania tego {{Code|{{sr|#p.DecodeHashKoduHtmlTekstu(tekst,ile)|p=Html}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TworzenieAdresuHtml(strona,parametry,naglowek,ile)...end;
</syntaxhighlight>
Parametry:
* {{Code|strona}} - nromalny adres strony, bez parametrów i nagłówka,
* {{Code|parametry}} - parametry strony w formacie {{Code|nazwa{{=}}wartość}} oddzielone od siebie znakiem {{Code|<nowiki>&</nowiki>}},
* {{Code|nagłówek}} - nagłówek linkujący do {{Code|id}} jakiegos elementyna stronie,
* {{Code|ile}} - jeśli większe od zero lub {{Code|nil}}, czy {{Code|false}}, funkcja dekoduje kody {{Strong|HTML}} {{Code|{{Nowiki|&#}}}} do {{Code|{{Nowiki|#}}}}.
Przykłady:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local strona,parametry,naglowek,ile="https://pl.wikibooks.org/wiki/Strona główna&num;&num;&num;To_nie_jest nagłówek","action=edit§ion=2","Nagłówek strony",3;
local adres=html_modul.TworzenieAdresuHtml(strona,parametry,naglowek,ile);
</syntaxhighlight>
Otrzymany pełny pojedynczy adres strony, z normalnym adresem strony z parametrami i nagłówkiem, jest ukryta:
<syntaxhighlight lang="lua">
local adres="https://pl.wikibooks.org/wiki/Strona główna###To_nie_jest nagłówek?action=edit§ion=2#Nagłówek strony";
</syntaxhighlight>
== {{Code|p.TworzenieStronaParametryIdentyfikacja(adres,...)}} ==
== {{Code|p.ParametryEncodeURL(adres,...)}} ==
== {{Code|p.ParametryZaawansowanyEncodeURL(adres,...)}} ==
== {{Code|p.EncodeParametryHtml(parametr,...)}} ==
== {{Code|p.EncodeZaawansowanyParametryHtml(adres,...)}} ==
== {{Code|p.EncodeHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeHashKoduHtmlTekstu(tekst,ile)}} ==
== {{Code|p.EncodeTempHashKoduHtmlTekstu(tekst)}} ==
== {{Code|p.DecodeTempHashKoduHtmlTekstu(tekst,...)}} ==
== {{Code|p.AdresBezProtokolarnyEncodeURL(adres)}} ==
== {{Code|p.UriEncode(frame)}} ==
== {{Code|p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)}} ==
== {{Code|p.EncodeElementyAdresuStrony(elementy_adresu_strony,...)}} ==
== {{Code|p.AdresProjektuEncodeHtml(frame,...)}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5undg43m4ltdsg9tumgfyw3uabxy7pp
Napary/Wawrzyn szlachetny
0
63468
540032
539766
2026-04-18T12:20:06Z
EdytaT
2664
/* Surowiec zielarski */
540032
wikitext
text/x-wiki
{{Podrozdział|[[Napary]]<br>Wawrzyn szlachetny (liść laurowy)}}
{{Uprawa - roślina infobox
| nazwa = Wawrzyn szlachetny
| obrazek = Laurus nobilis (5).JPG
| łacina = Laurus nobilis L.
| nazwy = liść laurowy, liść bobkowy
| wikipedia = Wawrzyn szlachetny
| wikispecies = Laurus nobilis
| wikisłownik = wawrzyn szlachetny
| commons = Category:Laurus nobilis
}}
{{wikipedia|Liść laurowy}}
{{wikisłownik|liść laurowy}}
== Wawrzyn szlachetny (liść laurowy) ==
{{Uwaga|Informacje tu zawarte nie są tekstami medycznymi i nie służą leczeniu zachorowań!<br>W przypadku alergii nie należy korzystać z produktów wytwarzanych z tej rośliny.}}
{{Uwaga|Zobacz też: {{lpr|Zastrzeżenia dotyczące pojęć medycznych}} w Wikipedii.}}
* Wspiera [[Napary/Działanie#Trawienie|trawienie]].
:* Pobudza wydzielanie soków żołądkowych, pomaga przy [[Napary/Działanie#Wzdęcia|wzdęciach]], zgadze oraz wspomaga pracę wątroby.
* Obniża [[Napary/Działanie#Cukrzyca|poziom glukozy we krwi]].
* Łagodzi [[Napary/Działanie#Stawy|bóle stawów]].
:* Dzięki właściwościom przeciwzapalnym, pomaga w bólach reumatycznych i stawowych.
* Działa [[Napary/Działanie#Przeciwzapalne|przeciwzapalnie]].
* Pomaga oczyścić organizm z [[Napary/Działanie#Oczyszczanie z toksyn|toksyn]].
:* Zawiera antyoksydanty wzmacniające odporność i działa moczopędnie, pomagając usuwać toksyny.
* Wzmacnia [[Napary/Działanie#Odporność|odporność]].
* Działa wykrztuśnie przy infekcjach [[Napary/Działanie#Drogi oddechowe|dróg oddechowych]].
* Relaksuje, ułatwiając [[Napary/Działanie#Bezsenność|zasypianie]].
== Przeciwwskazania ==
* Kobiety w ciąży i karmiące oraz małe dzieci nie powinny pić naparu z estragonu.
* Niewskazany osób z chorobami nerek lub przyjmujących leki przeciwzakrzepowe ze względu na ryzyko krwotoków.
== Surowiec zielarski ==
* Liście laurowe (''Folia et Fructus Lauri'') i owoc (''Fructus Lauri'') wawrzynu.
* Świeże liście są bardziej intensywne w zapachu i pikantno-gorzkie w smaku niż suszone. Zawierają więcej garbników niż suszone.
* Jeden świeży liść laurowy odpowiada dwóm liściom suszonym.
* Jeden suszony liść laurowy odpowiada 1/4 łyżeczki pokruszonego.
* Jeden świeży liść laurowy odpowiada 1/2 łyżeczki pokruszonego.
== Napary z wawrzynu szlachetnego ==
* Należy pić z umiarem (1-2 filiżanki dziennie), a po 3-5 dniach należy zrobić przerwę.
=== Herbatka z liścia laurowego ===
* 4-5 suszonych liści laurowych zalej 300-500 ml wrzątku.
* Zaparzaj pod przykryciem przez około 10-15 minut, albo przez kilka godzin w termosie.
{{Przypisy}}
6px1bpziu133yz9ewa8h31il53mk9mi
Zioła i przyprawy/Liść laurowy
0
63469
540062
540003
2026-04-18T16:41:37Z
EdytaT
2664
540062
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Wawrzyn szlachetny (liść laurowy)}}
[[Plik:Laurus nobilis (5).JPG|thumb|Liście laurowe]]
{{wikipedia|Liść laurowy}}
{{wikisłownik|Liść laurowy}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Wawrzyn szlachetny|wawrzynu szlachetnego}}
== Liść laurowy ==
* Do potraw można dodać zarówno świeże jak i suszone liście laurowe.
* Pod względem smaku liście świeże i suszone znacznie się od siebie różnią.
* Świeże liście smakują intensywniej, gorzko-pikantnie oraz zawierają więcej [[w:Garbniki|garbników]]. Należy je stosować umiarkowanie - często wystarczy połowa świeżego liścia zamiast jednego-dwóch suszonych.
== Potrawy ==
* Potrawy duszone i pieczone
:* Pieczeń wołowa
:* Gulasz
:* Dziczyzna
:* Duszony drób
* Wywary warzywne, mięsne, rybne
* Zupy
:* Rosoły
:* Zupy z warzyw korzeniowych (kartoflanka, grochówka, [[b:Kategoria:Barszcze|barszcze]])
* Przeciery i sosy pomidorowe
== Kompozycje smakowe ==
* Liść laurowy jest składnikiem [[Zioła i przyprawy/Bouquet garni|bouquet garni (pęczek ziół)]].
* Utarło się, że liście laurowe dodaje się do potraw w parze z [[Zioła i przyprawy/Ziele angielskie|zielem angielskim]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
5ynnz9k2u2l72k1vlya6prf5nppg2oa
540072
540062
2026-04-18T18:43:45Z
EdytaT
2664
540072
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Wawrzyn szlachetny (liść laurowy)}}
[[Plik:Laurus nobilis (5).JPG|thumb|Liście laurowe]]
{{wikipedia|Liść laurowy}}
{{wikisłownik|Liść laurowy}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Wawrzyn szlachetny|wawrzynu szlachetnego}}
== Liść laurowy ==
* Do potraw można dodać zarówno świeże jak i suszone liście laurowe.
* Pod względem smaku liście świeże i suszone znacznie się od siebie różnią.
* Świeże liście smakują intensywniej, gorzko-pikantnie oraz zawierają więcej [[w:Garbniki|garbników]]. Należy je stosować umiarkowanie - często wystarczy połowa świeżego liścia zamiast jednego-dwóch suszonych.
== Potrawy ==
* Potrawy duszone i pieczone
:* Pieczeń wołowa
:* Gulasz
:* Dziczyzna
:* Duszony drób
* Wywary warzywne, mięsne, rybne
* Zupy
:* Rosoły
:* Zupy z warzyw korzeniowych (kartoflanka, grochówka, [[b:Kategoria:Barszcze|barszcze]])
* Przeciery i sosy pomidorowe
* Ziemniaki
== Kompozycje smakowe ==
* Liść laurowy jest składnikiem [[Zioła i przyprawy/Bouquet garni|bouquet garni (pęczek ziół)]].
* Utarło się, że liście laurowe dodaje się do potraw w parze z [[Zioła i przyprawy/Ziele angielskie|zielem angielskim]].
== Niepolecane ==
* Nie używaj liścia laurowego do delikatnych zup (szparagowa, kalafiorowa), ponieważ zagłuszy swoim mocnym aromatem ich smak.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
2owv09w3fhylw89ijwp63rxsoq534kb
540073
540072
2026-04-18T18:49:27Z
EdytaT
2664
540073
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Wawrzyn szlachetny (liść laurowy)}}
[[Plik:Laurus nobilis (5).JPG|thumb|Liście laurowe]]
{{wikipedia|Liść laurowy}}
{{wikisłownik|Liść laurowy}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Wawrzyn szlachetny|wawrzynu szlachetnego}}
== Liść laurowy ==
* Do potraw można dodać zarówno świeże jak i suszone liście laurowe.
* Pod względem smaku liście świeże i suszone znacznie się od siebie różnią.
* Świeże liście smakują intensywniej, gorzko-pikantnie oraz zawierają więcej [[w:Garbniki|garbników]]. Należy je stosować umiarkowanie - często wystarczy połowa świeżego liścia zamiast jednego-dwóch suszonych.
* Im dluzej gotuje sie w potrawie, tym intensywniejszy staje się jego aromat.
== Potrawy ==
* Potrawy duszone i pieczone
:* Pieczeń wołowa
:* Gulasz
:* Dziczyzna
:* Duszony drób
* Wywary warzywne, mięsne, rybne
* Zupy
:* Rosoły
:* Zupy z warzyw korzeniowych (kartoflanka, grochówka, [[b:Kategoria:Barszcze|barszcze]])
* Przeciery i sosy pomidorowe
* Ziemniaki
== Kompozycje smakowe ==
* Liść laurowy jest składnikiem [[Zioła i przyprawy/Bouquet garni|bouquet garni (pęczek ziół)]].
* Utarło się, że liście laurowe dodaje się do potraw w parze z [[Zioła i przyprawy/Ziele angielskie|zielem angielskim]].
== Zamienniki ==
* Alternatywą mogą być [[Zioła i przyprawy/Tymianek|tymianek]] lub [[Zioła i przyprawy/Oregano|oregano]]. Mają one podobny, lekko cierpki i korzenny smak.
== Niepolecane ==
* Nie używaj liścia laurowego do delikatnych zup (szparagowa, kalafiorowa), ponieważ zagłuszy swoim mocnym aromatem ich smak.
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
ooiys2rfn3rls9dq57y7vw6mnkargmb
Zioła i przyprawy/Zioła prowansalskie
0
63472
540035
540020
2026-04-18T12:24:47Z
EdytaT
2664
/* Zioła prowansalskie */
540035
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Zioła prowansalskie}}
[[Plik:Corbeille d'herbes de Provence.jpg|thumb|Zioła prowansalskie]]
{{wikipedia|Zioła prowansalskie}}
== Zioła prowansalskie ==
W skład ziół prowansalskich wchodzą m. in.
* [[Zioła i przyprawy/Tymianek|tymianek]], [[Zioła i przyprawy/Dziki tymianek|dziki tymianek]], [[Zioła i przyprawy/Majeranek|majeranek]], [[Zioła i przyprawy/Oregano|oregano]], [[Zioła i przyprawy/Rozmaryn|rozmaryn]], [[Zioła i przyprawy/Bazylia|bazylia]], [[Zioła i przyprawy/Trybula|trybula]], [[Zioła i przyprawy/Estragon|estragon]], [[Zioła i przyprawy/Lubczyk|lubczyk]], [[Zioła i przyprawy/Cząber|cząber]], [[Zioła i przyprawy/Liść laurowy|liść laurowy]], [[Zioła i przyprawy/Szałwia|szałwia]], [[Zioła i przyprawy/Koper włoski|koper włoski]].
* Wersja klasyczna:
:* 27 % [[Zioła i przyprawy/Cząber|cząbru]]
:* 27 % [[Zioła i przyprawy/Rozmaryn|rozmarynu]]
:* 19 % [[Zioła i przyprawy/Tymianek|tymianku]]
:* 27 % [[Zioła i przyprawy/Oregano|oregano]]
* Warianty:
:* często dodatek [[Zioła i przyprawy/Lawenda|lawendy]].
:* czasem dodatek [[Zioła i przyprawy/Bazylia|bazylii]], [[Zioła i przyprawy/Estragon|estragonu]], nasiona [[Zioła i przyprawy/Koper włoski|kopru włoskiego]], [[Zioła i przyprawy/Trybula|trybuli]], [[Zioła i przyprawy/Liść laurowy|liścia laurowego]], [[Zioła i przyprawy/Jałowiec|jałowca]].
:* niektórzy producenci dodają [[Zioła i przyprawy/Lubczyk|lubczyk]], [[Zioła i przyprawy/Pietruszka|pietruszkę]], [[Zioła i przyprawy/Szałwia|szałwię]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
p9y7qd6njcqf05d25hyy2iqjf4lyx17
Zioła i przyprawy/Swańska sól
0
63473
540034
539977
2026-04-18T12:22:06Z
EdytaT
2664
540034
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Swańska sól (pęczek ziół)}}
[[Plik:Svanuri salt - Svanetian salt.jpg|thumb|Swańska sól]]
{{wikipedia|Swańska sól}}
{{wikisłownik|swańska sól}}
== Swańska sól ==
* Swańska sól (gruz. ''svanuri marili'') to pikantna ziołowa mieszanka przypraw pochodząca z wysokogórskiego regionu Swanetii w Gruzji. Jest to uniwersalna przyprawa, w której [[Zioła i przyprawy/Sól|sól]] stanowi bazę dla kompozycji dzikich ziół i [[Zioła i przyprawy/Czosnek|czosnku]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
rqz5z17f15bwfklfwug1xnpo5w9gatt
Zioła i przyprawy/Kolendra siewna
0
63478
540024
2026-04-18T12:10:27Z
EdytaT
2664
EdytaT przeniósł(-osła) stronę [[Zioła i przyprawy/Kolendra siewna]] do [[Zioła i przyprawy/Kolendra]]: Piszac o przyprawach lepiej jednak konkretnie nazwac przyprawy, a nie rosliny, z ktorej pochodza.
540024
wikitext
text/x-wiki
#PATRZ [[Zioła i przyprawy/Kolendra]]
0q7pm975annkf1skf36uwtar6qsy07q