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
Moduł:Html
828
56560
539949
539910
2026-04-17T11:33:08Z
Persino
2851
539949
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;
p["URLStrona"]=function(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;
0nzctcea5bb7q2pph48ug7zu591c3ln
Szablon:KodyHTMLZnakówWikiCiągu/opis
10
56795
539948
539908
2026-04-17T11:22:29Z
Persino
2851
/* Użycie */
539948
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Html}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Szablon zamieniający dowolny znak wiki w jego kod HTML w ciągu znaków, lub w taki sposób, by się dało się wyświetlić ten kod na ekranie monitora.
* Poniżej są podane wyniki, używając wywołania szablonowego: {{s|KodyHTMLZnakówWikiCiągu|jakiś znak|tak}}.
; Szablon zamienia znaki, na kody specjalne, nieliterowe, według klawiatury polskiej programisty, w ciągu, na następujące:
* {{Code|{{!}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{!}}|tak}}}}
* {{Code|{{!(}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{!(}}|tak}}}}
* {{Code|{{)!}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{)!}}|tak}}}}
* {{Code|{{(}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{(}}|tak}}}}
* {{Code|{{)}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{)}}|tak}}}}
* {{Code|(}} → {{Code|{{KodyHTMLZnakówWikiCiągu|(|tak}}}}
* {{Code|)}} → {{Code|{{KodyHTMLZnakówWikiCiągu|)|tak}}}}
* {{Code|{{Mniejszy}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{Mniejszy}}|tak}}}}
* {{Code|{{Większy}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{Większy}}|tak}}}}
* {{Code|{{=}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{=}}|tak}}}}
* {{Code|/}} → {{Code|{{KodyHTMLZnakówWikiCiągu|/|tak}}}}
* {{Code|\}} → {{Code|{{KodyHTMLZnakówWikiCiągu|\|tak}}}}
* {{Code| }} → {{Code|{{KodyHTMLZnakówWikiCiągu| |tak}}}}
* {{Code|_}} → {{Code|{{KodyHTMLZnakówWikiCiągu|_|tak}}}}
* {{Code|-}} → {{Code|{{KodyHTMLZnakówWikiCiągu|-|tak}}}}
* {{Code|`}} → {{Code|{{KodyHTMLZnakówWikiCiągu|`|tak}}}}
* {{Code|'}} → {{Code|{{KodyHTMLZnakówWikiCiągu|'|tak}}}}
* {{Code|~}} → {{Code|{{KodyHTMLZnakówWikiCiągu|~|tak}}}}
* {{Code|!}} → {{Code|{{KodyHTMLZnakówWikiCiągu|!|tak}}}}
* {{Code|@}} → {{Code|{{KodyHTMLZnakówWikiCiągu|@|tak}}}}
* {{Code|#}} → {{Code|{{KodyHTMLZnakówWikiCiągu|#|tak}}}}
* {{Code|$}} → {{Code|{{KodyHTMLZnakówWikiCiągu|$|tak}}}}
* {{Code|%}} → {{Code|{{KodyHTMLZnakówWikiCiągu|%|tak}}}}
* {{Code|^}} → {{Code|{{KodyHTMLZnakówWikiCiągu|^|tak}}}}
* {{Code|&}} → {{Code|{{KodyHTMLZnakówWikiCiągu|&|tak}}}}
* {{Code|*}} → {{Code|{{KodyHTMLZnakówWikiCiągu|*|tak}}}}
* {{Code|+}} → {{Code|{{KodyHTMLZnakówWikiCiągu|+|tak}}}}
* {{Code|"}} → {{Code|{{KodyHTMLZnakówWikiCiągu|"|tak}}}}
* {{Code|,}} → {{Code|{{KodyHTMLZnakówWikiCiągu|,|tak}}}}
* {{Code|.}} → {{Code|{{KodyHTMLZnakówWikiCiągu|.|tak}}}}
* {{Code|?}} → {{Code|{{KodyHTMLZnakówWikiCiągu|?|tak}}}}
* {{Code|;}} → {{Code|{{KodyHTMLZnakówWikiCiągu|;|tak}}}}
* {{Code|:}} → {{Code|{{KodyHTMLZnakówWikiCiągu|:|tak}}}}
; Dodatkowe znaki
* Znak o kodzie według języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}} równym:
# Znak {{Code|8206}}, jeżeli jest widoczny na ekranie: {{Code|‎}}, daje wynik o kodzie HTML: {{Code|{{KodyHTMLZnakówWikiCiągu||tak}}}}.
== Opis parametrów ==
; Wywołanie
{{Pre|{{s|KodyHTMLZnakówWikiCiągu| 1 {{=}} | 2 {{=}} }}}}
;Parametry
* {{Code|1}} - ciąg ze znakami wiki w UTF8 - wymagany,
* {{Code|2}} - wartość niepusta, wtedy szablon wyświetla kody znaków wiki, w ciągu, w sposób widoczny na ekranie - sugerowany.
== Wikikod==
Szablon {{s|KodyHTMLZnakówWikiCiągu}} ma kod w zależności od modułu: {{m|Html}}, przedstawiający się:
; Szablon {{s|{{ROOTPAGENAME}}}}
{{PreWikikod|KodyHTMLZnakówWikiCiągu}}
== Przykłady ==
;Przykład, tylko z pierwszym parametrem podstawowym
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
; Przykład, że bez drugiego parametru, że szablon zwraca kody HTML znaków wiki, w ciągu, a nie jego znaki
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
; Przykład, że przy drugim parametrze, że szablon zwraca kody HTML znaków wiki, w ciągu, wyświetlany na monitorze
* {{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}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Ciąg ze znakami wiki.",
"type": "string",
"required": true
},
"2": {
"description": "Wartość niepusta, to drukuje ciąg ze znakami specjalnymi w sposób widoczny na ekranie.",
"type": "string",
"suggested": true
}
},
"description": "Szablon przekształca znaki wiki, w ciągu, w kod HTML, lub robi w taki sposób, aby ten kod był widoczny na ekranie komputera."
}
</templatedata>
== Zobacz też ==
; Szablony zamieniające znaki w kod HTML
* {{s|KodHTMLZnaku}} - szablon zamieniający znak w jego kod HTML.
; Szablony wyświetlające kody specjalne, znaki w postaci kodów HTML, które zostały tak sformatowane, by mogły się wyświetlić w całości,
* {{s|Nowiki}} - wyświetla rozwinięty kod w postaci czystego tekstu w ramce: {{Tag|nowiki}},
* {{s|PreNowiki}} - wyświetla w ramce pomiędzy znacznikami: {{Tag|pre}}, a w nim: {{Tag|nowiki}}, przy czym sąsiadujące spacje nie są skracane do jednej,
* {{s|PreLineNowiki}} - wyświetla w ramce pomiędzy znacznikami: {{Tag|pre}}, a w nim: {{Tag|nowiki}}, przy czym sąsiadujące spacje są skracane do jednej.
{{Szablony ramek formułujące kod}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony kodów HTML
| Szablony ramek generujące kod HTML
}}
</includeonly>
5dmdctcdnmelk3rznonw5jh6tx08jjk
539950
539948
2026-04-17T11:34:09Z
Persino
2851
/* Użycie */
539950
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Html}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Szablon zamieniający dowolny znak wiki w jego kod HTML w ciągu znaków, lub w taki sposób, by się dało się wyświetlić ten kod na ekranie monitora.
* Poniżej są podane wyniki, używając wywołania szablonowego: {{s|KodyHTMLZnakówWikiCiągu|jakiś znak|tak}}.
; Szablon zamienia znaki, na kody specjalne, nieliterowe, według klawiatury polskiej programisty, w ciągu, na następujące:
* {{Code|{{!}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{!}}|tak}}}}
* {{Code|{{!(}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{!(}}|tak}}}}
* {{Code|{{)!}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{)!}}|tak}}}}
* {{Code|{{(}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{(}}|tak}}}}
* {{Code|{{)}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{)}}|tak}}}}
* {{Code|(}} → {{Code|{{KodyHTMLZnakówWikiCiągu|(|tak}}}}
* {{Code|)}} → {{Code|{{KodyHTMLZnakówWikiCiągu|)|tak}}}}
* {{Code|{{Mniejszy}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{Mniejszy}}|tak}}}}
* {{Code|{{Większy}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{Większy}}|tak}}}}
* {{Code|{{=}}}} → {{Code|{{KodyHTMLZnakówWikiCiągu|{{=}}|tak}}}}
* {{Code|/}} → {{Code|{{KodyHTMLZnakówWikiCiągu|/|tak}}}}
* {{Code|\}} → {{Code|{{KodyHTMLZnakówWikiCiągu|\|tak}}}}
* {{Code| }} → {{Code|{{KodyHTMLZnakówWikiCiągu| |tak}}}}
* {{Code|_}} → {{Code|{{KodyHTMLZnakówWikiCiągu|_|tak}}}}
* {{Code|-}} → {{Code|{{KodyHTMLZnakówWikiCiągu|-|tak}}}}
* {{Code|`}} → {{Code|{{KodyHTMLZnakówWikiCiągu|`|tak}}}}
* {{Code|'}} → {{Code|{{KodyHTMLZnakówWikiCiągu|'|tak}}}}
* {{Code|~}} → {{Code|{{KodyHTMLZnakówWikiCiągu|~|tak}}}}
* {{Code|!}} → {{Code|{{KodyHTMLZnakówWikiCiągu|!|tak}}}}
* {{Code|@}} → {{Code|{{KodyHTMLZnakówWikiCiągu|@|tak}}}}
* {{Code|#}} → {{Code|{{KodyHTMLZnakówWikiCiągu|#|tak}}}}
* {{Code|$}} → {{Code|{{KodyHTMLZnakówWikiCiągu|$|tak}}}}
* {{Code|%}} → {{Code|{{KodyHTMLZnakówWikiCiągu|%|tak}}}}
* {{Code|^}} → {{Code|{{KodyHTMLZnakówWikiCiągu|^|tak}}}}
* {{Code|&}} → {{Code|{{KodyHTMLZnakówWikiCiągu|&|tak}}}}
* {{Code|*}} → {{Code|{{KodyHTMLZnakówWikiCiągu|*|tak}}}}
* {{Code|+}} → {{Code|{{KodyHTMLZnakówWikiCiągu|+|tak}}}}
* {{Code|"}} → {{Code|{{KodyHTMLZnakówWikiCiągu|"|tak}}}}
* {{Code|,}} → {{Code|{{KodyHTMLZnakówWikiCiągu|,|tak}}}}
* {{Code|.}} → {{Code|{{KodyHTMLZnakówWikiCiągu|.|tak}}}}
* {{Code|?}} → {{Code|{{KodyHTMLZnakówWikiCiągu|?|tak}}}}
* {{Code|;}} → {{Code|{{KodyHTMLZnakówWikiCiągu|;|tak}}}}
* {{Code|:}} → {{Code|{{KodyHTMLZnakówWikiCiągu|:|tak}}}}
; Dodatkowe znaki
* Znak o kodzie według języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}} równym:
# Znak {{Code|8206}}, jeżeli jest widoczny na ekranie: {{Code|‎}}, daje wynik o kodzie HTML: {{Code|{{KodyHTMLZnakówWikiCiągu||tak}}}}.
== Opis parametrów ==
; Wywołanie
{{Pre|{{s|KodyHTMLZnakówWikiCiągu| 1 {{=}} | 2 {{=}} }}}}
;Parametry
* {{Code|1}} - ciąg ze znakami wiki w UTF8 - wymagany,
* {{Code|2}} - wartość niepusta, wtedy szablon wyświetla kody znaków wiki, w ciągu, w sposób widoczny na ekranie - sugerowany.
== Wikikod==
Szablon {{s|KodyHTMLZnakówWikiCiągu}} ma kod w zależności od modułu: {{m|Html}}, przedstawiający się:
; Szablon {{s|{{ROOTPAGENAME}}}}
{{PreWikikod|KodyHTMLZnakówWikiCiągu}}
== Przykłady ==
;Przykład, tylko z pierwszym parametrem podstawowym
* {{Code|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}} → {{Tt|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}
; Przykład, że bez drugiego parametru, że szablon zwraca kody HTML znaków wiki, w ciągu, a nie jego znaki
* {{Code|{{s|Nowiki|{{s|KodyHTMLZnakówWikiCiągu|k{{s|((}}s}}}}}} → {{Tt|{{Nowiki|{{KodyHTMLZnakówWikiCiągu|k{{((}}s}}}}}}
; Przykład, że przy drugim parametrze, że szablon zwraca kody HTML znaków wiki, w ciągu, wyświetlany na monitorze
* {{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}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Ciąg ze znakami wiki.",
"type": "string",
"required": true
},
"2": {
"description": "Wartość niepusta, to drukuje ciąg ze znakami specjalnymi w sposób widoczny na ekranie.",
"type": "string",
"suggested": true
}
},
"description": "Szablon przekształca znaki wiki, w ciągu, w kod HTML, lub robi w taki sposób, aby ten kod był widoczny na ekranie komputera."
}
</templatedata>
== Zobacz też ==
; Szablony zamieniające znaki w kod HTML
* {{s|KodHTMLZnaku}} - szablon zamieniający znak w jego kod HTML.
; Szablony wyświetlające kody specjalne, znaki w postaci kodów HTML, które zostały tak sformatowane, by mogły się wyświetlić w całości,
* {{s|Nowiki}} - wyświetla rozwinięty kod w postaci czystego tekstu w ramce: {{Tag|nowiki}},
* {{s|PreNowiki}} - wyświetla w ramce pomiędzy znacznikami: {{Tag|pre}}, a w nim: {{Tag|nowiki}}, przy czym sąsiadujące spacje nie są skracane do jednej,
* {{s|PreLineNowiki}} - wyświetla w ramce pomiędzy znacznikami: {{Tag|pre}}, a w nim: {{Tag|nowiki}}, przy czym sąsiadujące spacje są skracane do jednej.
{{Szablony ramek formułujące kod}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony kodów HTML
| Szablony ramek generujące kod HTML
}}
</includeonly>
svco13jq2l6kwryjke4c5z924t4o1yo
Szablon:Wolumin
10
58049
539931
527551
2026-04-16T15:31:13Z
Persino
2851
539931
wikitext
text/x-wiki
<includeonly>{{#invoke:Ramka|Szablon|Nazwa=Kategoria<!--
-->| Książka:{{#if:{{{1|}}}<!--
-->|{{Zastąp|ciąg={{Dopasuj|ciąg={{{1}}}|wzór=^([^/]*)}}|wzór=^Książka:|zamień=}}<!--
-->{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Template}} = {{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default =<!--
-->}}<!--
-->|{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Category}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->| {{Ns:Template}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->{{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default = {{msg:PEŁNANAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}<!--
-->}}}}{{#if:{{{podstrona|{{{3|}}}}}}|/{{{podstrona|{{{3}}}}}}}}<!--
-->| 2 = {{{sortuj|{{{2|}}}}}}<!--
-->| usuń z parametrów ramki = {{#if:{{#invoke:Parametry|Nazwane|2|sortuj}}||2}}<!--
-->| sortuj spacją = {{#if:{{{sortuj|{{{2|}}}}}}{{{dokumentacja|}}}
|{{#if:{{{dokumentacja|}}}|{{{sortuj spacją|{{{s|}}}}}}}}
|{{Jeśli niepuste|{{{sortuj spacją|{{{s|}}}}}}|{{#switch:{{Dopasuj|ciąg={{PEŁNANAZWAARTYKUŁUKSIĄŻKI|nazwa={{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=/}}|Okładka|okładka|=tak}}}}
}}<!--
-->| bez dodatkowych sprawdzeń=tak<!--
-->}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry|=problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}|1=^[^/]+$&!^%s*$|2=txt;sortuj|sortuj=txt;2|3=txt;podstrona|podstrona=txt;3|bez podstrony=txt|dokumentacja=txt|sortuj spacją=|s=old|nie sortuj nazwą=|n=old|nie kategorie dla kategorii=;nk|nk=;nie kategorie dla kategorii}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
o3lae5de5evrsass0di3rswn97kdtvi
539932
539931
2026-04-16T15:37:42Z
Persino
2851
539932
wikitext
text/x-wiki
<includeonly>{{#invoke:Ramka|Szablon|Nazwa=Kategoria<!--
-->| Książka:{{#if:{{{1|}}}<!--
-->|{{Zastąp|ciąg={{Dopasuj|ciąg={{{1}}}|wzór=^([^/]*)}}|wzór=^Książka:|zamień=}}<!--
-->{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Template}} = {{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default =<!--
-->}}<!--
-->|{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Category}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->| {{Ns:Template}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->{{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default = {{msg:PEŁNANAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}<!--
-->}}}}{{#if:{{{podstrona|{{{3|}}}}}}|/{{{podstrona|{{{3}}}}}}}}<!--
-->| 2 = {{{sortuj|{{{2|}}}}}}<!--
-->| usuń z parametrów ramki = {{#if:{{#invoke:Parametry|Nazwane|2|sortuj}}||2}}<!--
-->| sortuj spacją = {{#if:{{{sortuj|{{{2|}}}}}}{{{dokumentacja|}}}
|{{#if:{{{dokumentacja|}}}|{{{sortuj spacją|{{{s|}}}}}}}}
|{{Jeśli niepuste|{{{sortuj spacją|{{{s|}}}}}}|{{#switch:{{NAZWAARTYKUŁUKSIĄŻKI|nazwa={{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|Okładka|okładka|=tak}}}}
}}<!--
-->| bez dodatkowych sprawdzeń=tak<!--
-->}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry|=problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}|1=^[^/]+$&!^%s*$|2=txt;sortuj|sortuj=txt;2|3=txt;podstrona|podstrona=txt;3|bez podstrony=txt|dokumentacja=txt|sortuj spacją=|s=old|nie sortuj nazwą=|n=old|nie kategorie dla kategorii=;nk|nk=;nie kategorie dla kategorii}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
974mat9nzgdxxg81gskqxarwed1hxj5
539933
539932
2026-04-16T16:23:40Z
Persino
2851
539933
wikitext
text/x-wiki
<includeonly>{{#invoke:Ramka|Szablon|Nazwa=Kategoria<!--
-->| 1 = Książka:{{#if:{{{1|}}}<!--
-->|{{Zastąp|ciąg={{Dopasuj|ciąg={{{1}}}|wzór=^([^/]*)}}|wzór=^Książka:|zamień=}}<!--
-->{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Template}} = {{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default =<!--
-->}}<!--
-->|{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Category}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->| {{Ns:Template}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->{{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default = {{msg:PEŁNANAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}<!--
-->}}}}{{#if:{{{podstrona|{{{3|}}}}}}|/{{{podstrona|{{{3}}}}}}}}<!--
-->| 2 = {{{sortuj|{{{2|}}}}}}<!--
-->| usuń z parametrów ramki = {{#if:{{#invoke:Parametry|Nazwane|2|sortuj}}||2}}<!--
-->| sortuj spacją = {{#if:{{{sortuj|{{{2|}}}}}}{{{dokumentacja|}}}
|{{#if:{{{dokumentacja|}}}|{{{sortuj spacją|{{{s|}}}}}}}}
|{{Jeśli niepuste
| 1 = {{{sortuj spacją|{{{s|}}}}}}
| 2 = {{#switch:{{NAZWAARTYKUŁUKSIĄŻKI|nazwa={{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}
|Okładka|okładka|=tak
}}
}}
}}<!--
-->| bez dodatkowych sprawdzeń=tak<!--
-->}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry|=problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}|1=^[^/]+$&!^%s*$|2=txt;sortuj|sortuj=txt;2|3=txt;podstrona|podstrona=txt;3|bez podstrony=txt|dokumentacja=txt|sortuj spacją=|s=old|nie sortuj nazwą=|n=old|nie kategorie dla kategorii=;nk|nk=;nie kategorie dla kategorii}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
51ejvks7z04go6cfsvntiq7tpxy5zhp
539934
539933
2026-04-16T16:44:18Z
Persino
2851
539934
wikitext
text/x-wiki
<includeonly>{{#invoke:Ramka|Szablon|Nazwa=Kategoria<!--
-->| 1 = Książka:{{#if:{{{1|}}}<!--
-->|{{Zastąp|ciąg={{Dopasuj|ciąg={{{1}}}|wzór=^([^/]*)}}|wzór=^Książka:|zamień=}}<!--
-->{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Template}} = {{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default =<!--
-->}}<!--
-->|{{#switch:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}<!--
-->| {{Ns:Category}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->| {{Ns:Template}} = {{Zastąp|ciąg={{msg:NAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}|wzór=^Książka:|zamień=}}<!--
-->{{#if:{{{bez podstrony|}}}||{{#if:{{{podstrona|{{{3|}}}}}}||/Szablony książki}}}}<!--
-->| #default = {{msg:PEŁNANAZWAKSIĄŻKI|{{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}<!--
-->}}}}{{#if:{{{podstrona|{{{3|}}}}}}|/{{{podstrona|{{{3}}}}}}}}<!--
-->| 2 = {{{sortuj|{{{2|}}}}}}<!--
-->| usuń z parametrów ramki = {{#if:{{#invoke:Parametry|Nazwane|2|sortuj}}||2}}<!--
-->| sortuj spacją = {{#if:{{{sortuj|{{{2|}}}}}}{{{dokumentacja|}}}
|{{#if:{{{dokumentacja|}}}|{{{sortuj spacją|{{{s|}}}}}}}}
|{{Jeśli niepuste
| 1 = {{{sortuj spacją|{{{s|}}}}}}
| 2 = {{#switch:{{lcfirst:{{NAZWAARTYKUŁUKSIĄŻKI|nazwa={{#invoke:Pudełko|Pełna nazwa jednostki 2}}}}}}
|okładka|=tak
}}
}}
}}<!--
-->| bez dodatkowych sprawdzeń=tak<!--
-->}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry|=problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s do sprawdzenia{{))}}|1=^[^/]+$&!^%s*$|2=txt;sortuj|sortuj=txt;2|3=txt;podstrona|podstrona=txt;3|bez podstrony=txt|dokumentacja=txt|sortuj spacją=|s=old|nie sortuj nazwą=|n=old|nie kategorie dla kategorii=;nk|nk=;nie kategorie dla kategorii}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
1p2ug8kqx5vvbatp9cxkl1v67ff879r
Moduł:Brudnopis/Persino/test
828
59681
539935
539776
2026-04-16T19:03:52Z
Persino
2851
539935
Scribunto
text/plain
local p={};
function p.TYTAN(frame)
local html_modul=require("Module:Html");
local id="https://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia%3F";
local id2=html_modul.EncodeId(id,true);
mw.log(id2);
end;
return p;
7ivbb8r1a60j6eq2q9m82eey3oqz2nx
Moduł:Html/dane
828
60188
539947
539906
2026-04-17T11:20:17Z
Persino
2851
539947
Scribunto
text/plain
local p={};
----
p.znak_127=mw.ustring.char(127);
----
p.tabela_znakowa={
["|"]=mw.ustring.byte("|"),
["["]=mw.ustring.byte("["),
["]"]=mw.ustring.byte("]"),
["{"]=mw.ustring.byte("{"),
["}"]=mw.ustring.byte("}"),
["("]=mw.ustring.byte("("),
[")"]=mw.ustring.byte(")"),
["<"]=mw.ustring.byte("<"),
[">"]=mw.ustring.byte(">"),
["="]=mw.ustring.byte("="),
["/"]=mw.ustring.byte("/"),
["\\"]=mw.ustring.byte("\\"),
[" "]=mw.ustring.byte(" "),
["_"]=mw.ustring.byte("_"),
["-"]=mw.ustring.byte("-"),
["`"]=mw.ustring.byte("`"),
["'"]=mw.ustring.byte("'"),
["~"]=mw.ustring.byte("~"),
["!"]=mw.ustring.byte("!"),
["@"]=mw.ustring.byte("@"),
["#"]=mw.ustring.byte("#"),
["$"]=mw.ustring.byte("$"),
["%"]=mw.ustring.byte("%"),
["^"]=mw.ustring.byte("^"),
["&"]=mw.ustring.byte("&"),
["*"]=mw.ustring.byte("*"),
["+"]=mw.ustring.byte("+"),
["\""]=mw.ustring.byte("\""),
[","]=mw.ustring.byte(","),
["."]=mw.ustring.byte("."),
["?"]=mw.ustring.byte("?"),
[";"]=mw.ustring.byte(";"),
[":"]=mw.ustring.byte(":"),
[""]=mw.ustring.codepoint(""),
};
p.tabela_nawiasowa={
["{"]="&#"..mw.ustring.byte("{")..";",
["}"]="&#"..mw.ustring.byte("}")..";",
["|"]="&#"..mw.ustring.byte("|")..";",
["="]="&#"..mw.ustring.byte("=")..";",
["<"]="&#"..mw.ustring.byte("<")..";",
[">"]="&#"..mw.ustring.byte(">")..";",
["["]="&#"..mw.ustring.byte("[")..";",
["]"]="&#"..mw.ustring.byte("]")..";",
["#"]="&#"..mw.ustring.byte("#")..";",
["?"]="&#"..mw.ustring.byte("?")..";",
["&"]="&#"..mw.ustring.byte("&")..";",
[":"]="&#"..mw.ustring.byte(":")..";",
["*"]="&#"..mw.ustring.byte("*")..";",
[";"]="&#"..mw.ustring.byte(";")..";",
["!"]="&#"..mw.ustring.byte("!")..";",
};
p.kody_literowe_html_i_ich_odpowiedniki_znakowe={
-- Podstawowe
["<"] = "<",
[">"] = ">",
["&"] = "&",
["""] = "\"",
["'"] = "'",
-- Spacje i typografia
[" "] = " ",
[" "] = " ",
[" "] = " ",
[" "] = " ",
["©"] = "©",
["®"] = "®",
["™"] = "™",
["§"] = "§",
["¶"] = "¶",
["°"] = "°",
["·"] = "·",
["•"] = "•",
-- Waluty
["$"] = "$",
["¢"] = "¢",
["£"] = "£",
["¥"] = "¥",
["€"] = "€",
-- Strzałki
["←"] = "←",
["↑"] = "↑",
["→"] = "→",
["↓"] = "↓",
["↔"] = "↔",
-- Greckie litery (małe i wielkie)
["α"] = "α", ["Α"] = "Α",
["β"] = "β", ["Β"] = "Β",
["γ"] = "γ", ["Γ"] = "Γ",
["δ"] = "δ", ["Δ"] = "Δ",
["ε"] = "ε", ["Ε"] = "Ε",
["ζ"] = "ζ", ["Ζ"] = "Ζ",
["η"] = "η", ["Η"] = "Η",
["θ"] = "θ", ["Θ"] = "Θ",
["ι"] = "ι", ["Ι"] = "Ι",
["κ"] = "κ", ["Κ"] = "Κ",
["λ"] = "λ", ["Λ"] = "Λ",
["μ"] = "μ", ["Μ"] = "Μ",
["ν"] = "ν", ["Ν"] = "Ν",
["ξ"] = "ξ", ["Ξ"] = "Ξ",
["ο"] = "ο", ["Ο"] = "Ο",
["π"] = "π", ["Π"] = "Π",
["ρ"] = "ρ", ["Ρ"] = "Ρ",
["σ"] = "σ", ["Σ"] = "Σ",
["τ"] = "τ", ["Τ"] = "Τ",
["υ"] = "υ", ["Υ"] = "Υ",
["φ"] = "φ", ["Φ"] = "Φ",
["χ"] = "χ", ["Χ"] = "Χ",
["ψ"] = "ψ", ["Ψ"] = "Ψ",
["ω"] = "ω", ["Ω"] = "Ω",
-- Symbole matematyczne
["±"] = "±",
["×"] = "×",
["÷"] = "÷",
["∞"] = "∞",
["√"] = "√",
["∑"] = "∑",
["∏"] = "∏",
["∫"] = "∫",
["∀"] = "∀",
["∂"] = "∂",
["∃"] = "∃",
["∅"] = "∅",
["∇"] = "∇",
["∈"] = "∈",
["∉"] = "∉",
["⊂"] = "⊂",
["⊃"] = "⊃",
["⊆"] = "⊆",
["⊇"] = "⊇",
["⊕"] = "⊕",
["⊗"] = "⊗",
["⊥"] = "⊥",
};
return p;
9lek9f1d82n0ek6jp5ixjhatrd3bca1
Wikibooks:Moduły/Html
4
63462
539937
539918
2026-04-16T19:06:23Z
Persino
2851
/* {{Code|p.EncodeId(...)}} */
539937
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: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia%3F";
local id2=html_modul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What is Wikipedia?";
</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="[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="[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.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
== {{Code|p.EncodeWiki(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
t7w7p9ec7rnxreg8v5kyyvkymp5xc7q
539938
539937
2026-04-16T19:16:01Z
Persino
2851
/* {{Code|p.EncodeId(...)}} */
539938
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: {{Code|{{sr|#p.DecodeHtml(...)|p=Html}}}}.
Przykłady użycia:
<syntaxhighlight lang="lua">
local html_modul=require("Module:Html");
local id="https://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia%3F";
local id2=html_modul.EncodeId(id,false);
</syntaxhighlight>
Wynikiem tego:
<syntaxhighlight lang="lua">
local id2="https://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What is Wikipedia?";
</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://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia%3F";
local id2=html_modul.EncodeId(id,true);
</syntaxhighlight>
Wynikiem działania jest wartość ostatniej zmiennej:
<syntaxhighlight lang="lua">
local id2="https://en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What is Wikipedia%3F";
</syntaxhighlight>
== {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} ==
== {{Code|p.EncodeWiki(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
51o5c632jqm7q9k8taazwyngousjxz8
539939
539938
2026-04-16T19:23:41Z
Persino
2851
/* {{Code|p.EncodeId(...)}} */
539939
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: {{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)}} ==
== {{Code|p.EncodeWiki(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
q5awnxvzl5l8cersoj8k5d475fg6yk1
539940
539939
2026-04-17T08:01:16Z
Persino
2851
/* {{Code|p.EncodeId(...)}} */
539940
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)}} ==
== {{Code|p.EncodeWiki(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
2rf6m3q764zcskgamfs43cy1kje9fda
539941
539940
2026-04-17T10:44:12Z
Persino
2851
/* {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} */
539941
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|226}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|â}} (znak {{Code|{{Nowiki|â}}}}).
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 226;
local tekst="Oto jest znak: â.";
-- Zamiana tego kodu na znak;
tekst=html_modul.KodHTMLZnaku(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(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
72mjny92ch1hb7j207uwfaa9cxqohjf
539942
539941
2026-04-17T10:44:53Z
Persino
2851
/* {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} */
539942
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|226}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|â}} (znak {{Code|{{Nowiki|â}}}}).
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 226;
local tekst="Oto jest znak: â.";
-- Zamiana tego kodu na znak;
tekst=html_modul.KodHTMLZnaku(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(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
8nopm43246ads78g2nfcw8xr6eds8x1
539943
539942
2026-04-17T10:48:06Z
Persino
2851
/* {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} */
539943
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|226}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|â}} (znak {{Code|{{Nowiki|â}}}}).
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 226;
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(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
c01t58zg0bynus45laxkix5x3hra7nh
539944
539943
2026-04-17T11:14:19Z
Persino
2851
/* {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} */
539944
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|226}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}).
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 226;
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(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
3syfupspddzxi0mfnpu8nymdjgkxkvq
539945
539944
2026-04-17T11:17:12Z
Persino
2851
/* {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} */
539945
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|226}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}).
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(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
7og6qrc582mg31e2gaw833t0nn0lvlj
539946
539945
2026-04-17T11:17:49Z
Persino
2851
/* {{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)}} */
539946
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|‎}}}}).
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(...)}} ==
== {{Code|p.DecodeWiki(...)}} ==
== {{Code|p.IsEncodedHtml(...)}} ==
== {{Code|p.EncodeHtml(...)}} ==
== {{Code|p.DecodeHtml(...)}} ==
== {{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)}} ==
== {{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)}} ==
== {{Code|p["NagłówekStronyAdresu"](frame,...)}} ==
== {{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>
19ov4rsyb1t91tbgwua787kqqfmqakt
Zioła i przyprawy/Wawrzyn szlachetny
0
63469
539928
539924
2026-04-16T12:33:52Z
EdytaT
2664
539928
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Wawrzyn szlachetny (liść laurowy)}}
[[Plik:Laurus nobilis (5).JPG|thumb|Liście laurowe]]
{{wikipedia|Wawrzyn szlachetny}}
{{wikipedia|Liść laurowy}}
{{wikisłownik|wawrzyn szlachetny}}
{{wikisłownik|Liść laurowy}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Wawrzyn szlachetny|wawrzynu szlachetnego}}
== Wawrzyn szlachetny (liście laurowe) ==
* 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)
* Przeciery i sosy pomidorowe
== Kompozycje smakowe ==
* Liść laurowy jest składnikiem [[Zioła i przyprawy/Bouquet garni|bouquet garni (pęczek ziół)]].
:* Trzy gałązki [[Zioła i przyprawy/Pietruszka|pietruszki]], jedna mała gałązka [[Zioła i przyprawy/Tymianek|tymianku]] i jeden nieduży liść laurowy
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
p4zux9qr18rru53g0tumw3i0vlwgiap
539929
539928
2026-04-16T12:34:20Z
EdytaT
2664
/* Kompozycje smakowe */
539929
wikitext
text/x-wiki
{{Podrozdział|[[Zioła i przyprawy]]|Wawrzyn szlachetny (liść laurowy)}}
[[Plik:Laurus nobilis (5).JPG|thumb|Liście laurowe]]
{{wikipedia|Wawrzyn szlachetny}}
{{wikipedia|Liść laurowy}}
{{wikisłownik|wawrzyn szlachetny}}
{{wikisłownik|Liść laurowy}}
{{Wikibooks|Ekoogrodnictwo/Rośliny użytkowe/Wawrzyn szlachetny|wawrzynu szlachetnego}}
== Wawrzyn szlachetny (liście laurowe) ==
* 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)
* Przeciery i sosy pomidorowe
== Kompozycje smakowe ==
* Liść laurowy jest składnikiem [[Zioła i przyprawy/Bouquet garni|bouquet garni (pęczek ziół)]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
mlhlhz370cdnh60xyahvof8drxhlmgp
Zioła i przyprawy/Zioła prowansalskie
0
63472
539930
2026-04-16T12:39:57Z
EdytaT
2664
Utworzono nową stronę " {{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/Macierzanka tymianek|macierzanka tymianek]], [[Zioła i przyprawy/Macierzanka piaskowa|macierzanka piaskowa]], [[Zioła i przyprawy/Lebiodka majeranek|lebiodka majeranek (majeranek)]], Zioła i przy…"
539930
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/Macierzanka tymianek|macierzanka tymianek]], [[Zioła i przyprawy/Macierzanka piaskowa|macierzanka piaskowa]], [[Zioła i przyprawy/Lebiodka majeranek|lebiodka majeranek (majeranek)]], [[Zioła i przyprawy/Lebiodka pospolita|lebiodka pospolita]], [[Zioła i przyprawy/Rozmaryn lekarski|rozmaryn lekarski]], [[Zioła i przyprawy/Bazylia pospolita|bazylia pospolita]], [[Zioła i przyprawy/Trybula ogrodowa|trybula ogrodowa]], [[Zioła i przyprawy/Bylica draganek|bylica draganek (estragon}]], [[Zioła i przyprawy/Lubczyk ogrodowy|lubczyk ogrodowy]], [[Zioła i przyprawy/Cząber ogrodowy|cząber ogrodowy]], [[Zioła i przyprawy/Wawrzyn szlachetny|wawrzyn szlachetny (liść laurowy)]], [[Zioła i przyprawy/Szałwia lekarska|szałwia lekarska]], [[Zioła i przyprawy/Fenkuł włoski|fenkuł włoski (koper włoski)]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
m6vziwbap3yscdpmm5csjt9rhkxkmk3
539936
539930
2026-04-16T19:05:18Z
EdytaT
2664
539936
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/Macierzanka tymianek|macierzanka tymianek (tymianek)]], [[Zioła i przyprawy/Macierzanka piaskowa|macierzanka piaskowa]], [[Zioła i przyprawy/Lebiodka majeranek|lebiodka majeranek (majeranek)]], [[Zioła i przyprawy/Lebiodka pospolita|lebiodka pospolita (oregano)]], [[Zioła i przyprawy/Rozmaryn lekarski|rozmaryn lekarski (rozmaryn)]], [[Zioła i przyprawy/Bazylia pospolita|bazylia pospolita (bazylia)]], [[Zioła i przyprawy/Trybula ogrodowa|trybula ogrodowa (trybula)]], [[Zioła i przyprawy/Bylica draganek|bylica draganek (estragon}]], [[Zioła i przyprawy/Lubczyk ogrodowy|lubczyk ogrodowy]], [[Zioła i przyprawy/Cząber ogrodowy|cząber ogrodowy]], [[Zioła i przyprawy/Wawrzyn szlachetny|wawrzyn szlachetny (liść laurowy)]], [[Zioła i przyprawy/Szałwia lekarska|szałwia lekarska]], [[Zioła i przyprawy/Fenkuł włoski|fenkuł włoski (koper włoski)]].
* Wersja klasyczna:
:* 27 % [[Zioła i przyprawy/Cząber ogrodowy|cząbru]]
:* 27 % [[Zioła i przyprawy/Rozmaryn lekarski|rozmarynu]]
:* 19 % [[Zioła i przyprawy/Macierzanka tymianek|tymianku]]
:* 27 % [[Zioła i przyprawy/Lebiodka pospolita|oregano)]]
* Warianty:
:* często dodatek [[Zioła i przyprawy/Lawenda wąskolistna|lawendy]].
:* czasem dodatek [[Zioła i przyprawy/Bazylia pospolita|bazylii]], [[Zioła i przyprawy/Bylica draganek|estragonu]], nasiona [[Zioła i przyprawy/Fenkuł włoski|kopru włoskiego]], [[Zioła i przyprawy/Trybula ogrodowa|trybul]], [[Zioła i przyprawy/Wawrzyn szlachetny|liścia laurowego]], [[Zioła i przyprawy/Jałowiec pospolity|jałowca]].
:* niektórzy producenci dodają [[Zioła i przyprawy/Lubczyk ogrodowy|lubczyk]], [[Zioła i przyprawy/Pietruszka|pietruszkę]], [[Zioła i przyprawy/Szałwia lekarska|szałwię]].
== Przypisy ==
{{Przypisy}}
{{BrClear}}
<noinclude>{{Wolumin}}</noinclude>
dxg63e679rnmn7h87m5mh8uzu82octy