Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.46.0-wmf.22
first-letter
Media
Specjalna
Dyskusja
Wikipedysta
Dyskusja wikipedysty
Wikibooks
Dyskusja Wikibooks
Plik
Dyskusja pliku
MediaWiki
Dyskusja MediaWiki
Szablon
Dyskusja szablonu
Pomoc
Dyskusja pomocy
Kategoria
Dyskusja kategorii
Wikijunior
Dyskusja Wikijuniora
TimedText
TimedText talk
Moduł
Dyskusja modułu
Wydarzenie
Dyskusja wydarzenia
Moduł:Html
828
56560
538966
535795
2026-04-04T18:52:08Z
Persino
2851
538966
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"([%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return wyrazenie_do_transformacji;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return wyrazenie_do_transformacji;
end;
function p.ZnakiSpecjalneTaguNowiki(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|=<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.ZnakiSpecjalneWikiLinku(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.EncodeSpecjalneZnakiHtml(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.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);
if(czy_tak)then
return "&#"..tostring(mw.ustring.byte(znak))..";";
else
return "&#"..tostring(mw.ustring.byte(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(tab_znakowo_kodowa[znak])then
return tab_znakowo_kodowa[znak];
end;
tab_znakowo_kodowa[znak]=p.KodHTMLZnaku{znak,czy_kod_znaku};
return tab_znakowo_kodowa[znak];
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)
return ((encode_real)and(mw.ustring.match(parametr,"^[%w%p%s]*$")and(mw.ustring.match(parametr,"[^%%]"))))
or((encode)and(mw.ustring.match(parametr,"^[^%%]*$")))
or(((not encode_real)or((encode_real)and(mw.ustring.match(parametr,"^[%w%s%p%%]*$"))))
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]")));
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);
a=p.ParametryPrzypisaniaZnakowegoEncodeHtml(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)
elementy_adresu_strony=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
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;
24ckpd2r0kuu4x4olpmqmwuk7j9f2sf
538967
538966
2026-04-04T19:58:13Z
Persino
2851
538967
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"([%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return wyrazenie_do_transformacji;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return wyrazenie_do_transformacji;
end;
function p.ZnakiSpecjalneTaguNowiki(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|=<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.ZnakiSpecjalneWikiLinku(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.EncodeSpecjalneZnakiHtml(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.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);
if(czy_tak)then
return "&#"..tostring(mw.ustring.byte(znak))..";";
else
return "&#"..tostring(mw.ustring.byte(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(tab_znakowo_kodowa[znak])then
return tab_znakowo_kodowa[znak];
end;
tab_znakowo_kodowa[znak]=p.KodHTMLZnaku{znak,czy_kod_znaku};
return tab_znakowo_kodowa[znak];
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)
return ((encode_real)and(mw.ustring.match(parametr,"^[%w%p%s]*$")and(mw.ustring.match(parametr,"^[^%%]*$"))))
or((encode)and(mw.ustring.match(parametr,"^[^%%]*$")))
or(((not encode_real)or((encode_real)and(mw.ustring.match(parametr,"^[%w%s%p%%]*$"))))
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]")));
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);
a=p.ParametryPrzypisaniaZnakowegoEncodeHtml(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)
elementy_adresu_strony=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
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;
d7iu5lkpgqp1e5dhtgbggrnyt8p29d1
538968
538967
2026-04-04T20:42:49Z
Persino
2851
538968
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"([%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return wyrazenie_do_transformacji;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return wyrazenie_do_transformacji;
end;
function p.ZnakiSpecjalneTaguNowiki(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|=<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.ZnakiSpecjalneWikiLinku(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.EncodeSpecjalneZnakiHtml(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.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);
if(czy_tak)then
return "&#"..tostring(mw.ustring.byte(znak))..";";
else
return "&#"..tostring(mw.ustring.byte(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(tab_znakowo_kodowa[znak])then
return tab_znakowo_kodowa[znak];
end;
tab_znakowo_kodowa[znak]=p.KodHTMLZnaku{znak,czy_kod_znaku};
return tab_znakowo_kodowa[znak];
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);
a=p.ParametryPrzypisaniaZnakowegoEncodeHtml(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)
elementy_adresu_strony=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
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;
tuzagcsff3h6v4cxcmmslw8f27aicpm
538969
538968
2026-04-05T11:42:47Z
Persino
2851
538969
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"([%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return wyrazenie_do_transformacji;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return wyrazenie_do_transformacji;
end;
function p.ZnakiSpecjalneTaguNowiki(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|=<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.ZnakiSpecjalneWikiLinku(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.EncodeSpecjalneZnakiHtml(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.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);
if(czy_tak)then
return "&#"..tostring(mw.ustring.byte(znak))..";";
else
return "&#"..tostring(mw.ustring.byte(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(tab_znakowo_kodowa[znak])then
return tab_znakowo_kodowa[znak];
end;
tab_znakowo_kodowa[znak]=p.KodHTMLZnaku{znak,czy_kod_znaku};
return tab_znakowo_kodowa[znak];
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)
elementy_adresu_strony=p.EncodeHashKoduHtmlTekstu(elementy_adresu_strony);
elementy_adresu_strony=p.DecodeKoduHTMLZnaku(elementy_adresu_strony);
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;
44rohsbrt5m8kewposq9mr8j86e0s1h
538976
538969
2026-04-05T11:52:54Z
Persino
2851
538976
Scribunto
text/plain
local p={};
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"([%[%]%(%)%+%-%*%?%.%^%$%%'])",function (s) return "&#"..tostring(mw.ustring.byte(s))..";";end)
return wyrazenie_do_transformacji;
end;
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(wyrazenie_do_transformacji)
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#(%d+);",function (s) return tostring(mw.ustring.char(s));end);
wyrazenie_do_transformacji=mw.ustring.gsub(wyrazenie_do_transformacji,"&#x(%x+);", function(n) return mw.ustring.char(tonumber(n, 16));end);
return wyrazenie_do_transformacji;
end;
function p.ZnakiSpecjalneTaguNowiki(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|=<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.ZnakiSpecjalneWikiLinku(ciag)
local html_dane_modul=mw.loadData("Module:Html/dane");
local tab_nawiasy=html_dane_modul.tabela_nawiasowa;
ciag=mw.ustring.gsub(ciag,"([{}|<>%[%]])",tab_nawiasy);
return ciag;
end;
function p.EncodeSpecjalneZnakiHtml(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.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);
if(czy_tak)then
return "&#"..tostring(mw.ustring.byte(znak))..";";
else
return "&#"..tostring(mw.ustring.byte(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(tab_znakowo_kodowa[znak])then
return tab_znakowo_kodowa[znak];
end;
tab_znakowo_kodowa[znak]=p.KodHTMLZnaku{znak,czy_kod_znaku};
return tab_znakowo_kodowa[znak];
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;
sz7b8ljijreasjv3uuy4je05b7n0m9r
Wikijunior:Polska/Stare Miasto w Krakowie
104
63390
538950
2026-04-04T12:29:31Z
Igor123121
34732
nowe hasło
538950
wikitext
text/x-wiki
[[Plik:Main Market Square, view from S, Old Town, Kraków, Poland.jpg|mały]]
[[Plik:Old Town, view from S, Kraków, Poland.jpg|mały]]
Historyczny zespół urbanistyczny Starego Miasta w Krakowie został wpisany na Listę Światowego Dziedzictwa UNESCO w 1978 roku, jako jeden z pierwszych dwunastu obiektów na świecie, które znalazły się na tej liście. Obszar objęty ochroną obejmuje trzy główne strefy: Stare Miasto z Rynkiem Głównym, wzgórze wawelskie z zamkiem królewskim i katedrą oraz historyczną dzielnicę Kazimierz.
== Rynek Główny i zabudowa średniowieczna ==
Centrum Starego Miasta stanowi Rynek Główny o wymiarach 200 × 200 metrów, będący największym średniowiecznym placem w Europie. Jego układ urbanistyczny pochodzi z lokacji miasta na prawie magdeburskim w 1257 roku i zachował się niemal w niezmienionej formie. Na Rynku znajdują się kluczowe obiekty architektoniczne:
* Sukiennice – gotycko-renesansowy budynek handlowy, mieszczący na piętrze Galerię Malarstwa Polskiego XIX wieku (oddział Muzeum Narodowego w Krakowie),
* Kościół Mariacki – gotycka bazylika z XIV-XV wieku, w której wnętrzu znajduje się ołtarz dłuta Wita Stwosza, uznawany za najcenniejsze dzieło gotyckiej rzeźby w Polsce,
* Wieża Ratuszowa – jedyny zachowany fragment dawnego ratusza miejskiego.
Cechą Starego Miasta jest kompletne zachowanie średniowiecznego układu ulic i parceli, otoczonego pasem zieleni Plant Krakowskich, które powstały w miejscu rozebranych na początku XIX wieku murów obronnych.
== Wzgórze Wawelskie i Kazimierz ==
Wzgórze Wawelskie jest historycznym centrum władzy politycznej i religijnej Polski. Znajduje się na nim:
* Zamek Królewski – rezydencja monarchów od XI do XVII wieku, z renesansowym dziedzińcem arkadowym i zbiorami królewskimi (w tym arrasami Zygmunta Augusta),
* Katedra Wawelska – miejsce koronacji i pochówku królów polskich oraz bohaterów narodowych (m.in. Józefa Piłsudskiego i Adama Mickiewicza).
Dzielnica Kazimierz, włączona do obszaru ochrony UNESCO, była przez wieki odrębnym miastem i stanowiła jedno z największych centrów kultury żydowskiej w Europie. Zachowały się tu liczne synagogi (m.in. Stara Synagoga z XV w.) oraz cmentarze, stanowiące świadectwo wielokulturowego dziedzictwa Krakowa.
6hexqjigz7goby8zyxmhfvog7lepazs
Wikijunior:Polska/Kopalnia soli w Wieliczce
104
63391
538951
2026-04-04T12:30:45Z
Igor123121
34732
nowe hasło
538951
wikitext
text/x-wiki
[[Plik:Wieliczka mine 04.jpg|mały]]
[[Plik:Wieliczka Salt Mine 2024-07-08 (6).jpg|mały]]
[[Plik:Urządzenia i sprzęt do transportu pionowego, fot. Dariusz Kołakowski.jpg|mały]]
Kopalnia Soli „Wieliczka" jest jednym z najstarszych czynnych zakładów górniczych na świecie, w którym wydobycie soli kamiennej prowadzono nieprzerwanie od XIII wieku do 1996 roku. Obiekt został wpisany na Listę Światowego Dziedzictwa UNESCO w 1978 roku, w pierwszej grupie dwunastu obiektów na świecie uznanych za mające wyjątkową wartość dla ludzkości. Jest to jedyny obiekt górniczy na świecie eksploatowany nieprzerwanie od średniowiecza do czasów współczesnych.
== Historia wydobycia i znaczenie gospodarcze ==
Eksploatację złóż solnych w Wieliczce rozpoczęto w XIII wieku, a pierwszą pisemną wzmiankę o kopalni datuje się na 1044 rok. Na mocy przywileju lokacyjnego z 1290 roku kopalnia stała się własnością królewską, a dochody z wydobycia soli stanowiły jeden z głównych filarów skarbu Królestwa Polskiego. W 1368 roku król Kazimierz Wielki wydał statut regulujący funkcjonowanie żup solnych, zwany Statutem Kazimierzowskim – jeden z najstarszych kodeksów prawa górniczego w Europie. Podziemna infrastruktura kopalni rozciąga się na 9 poziomach, sięgając głębokości 327 metrów, z łączną długością korytarzy wynoszącą około 245 km.
== Podziemna architektura i kaplice ==
Unikalną cechą wielickiej kopalni jest bogactwo podziemnej architektury sakralnej i rzeźbiarskiej. Przez wieki górnicy drążyli w soli kamiennej kaplice, rzeźby i płaskorzeźby o tematyce religijnej. Najcenniejszym obiektem jest Kaplica Świętej Kingi, położona na głębokości 101 metrów. Jest to podziemna świątynia o wymiarach 54 × 18 × 12 metrów, w całości wykonana w soli kamiennej, łącznie z ołtarzem, żyrandolami i posadzką. Do istotnych obiektów należą również komory: Michałowice, Weimar oraz Erazma Barącza, wykorzystywane współcześnie jako sale koncertowe i wystawiennicze. W podziemiach kopalni znajduje się także uzdrowisko, w którym prowadzi się terapię chorób układu oddechowego z wykorzystaniem specyficznego mikroklimatu solnego.
== Status prawny i ochrona zabytku ==
Kopalnia jest zarządzana przez spółkę akcyjną Kopalnia Soli „Wieliczka" S.A., w której Skarb Państwa posiada 100% udziałów. Obiekt podlega ochronie na mocy zarówno prawa krajowego (wpis do rejestru zabytków oraz status Pomnika Historii), jak i konwencji międzynarodowych (UNESCO). Corocznie podziemną trasę turystyczną odwiedza ponad milion turystów z całego świata, co czyni Wieliczkę jednym z najczęściej odwiedzanych obiektów zabytkowych w Polsce.
b0okj8whnqhgf52zgs5jy6qgqj9gry8
Wikijunior:Polska/Auschwitz-Birkenau
104
63392
538952
2026-04-04T12:31:25Z
Igor123121
34732
nowe hasło
538952
wikitext
text/x-wiki
[[Plik:Auschwitz main gate.jpg|mały]]
[[Plik:Birkenau múzeum - panoramio (cropped).jpg|mały]]
[[Plik:Birkenau gate.JPG|mały]]
Były niemiecki nazistowski obóz koncentracyjny i zagłady Auschwitz-Birkenau został wpisany na Listę Światowego Dziedzictwa UNESCO w 1979 roku jako jedyny obiekt tego rodzaju, uznany za symbol ludobójstwa i przestrogi dla przyszłych pokoleń. Obóz funkcjonował w latach 1940–1945 na terenie okupowanej Polski, w pobliżu miasta Oświęcim (niem. Auschwitz). Jego pełna nazwa w rejestrze UNESCO brzmi: „Auschwitz Birkenau – German Nazi Concentration and Extermination Camp (1940–1945)".
== Struktura obozowa i mechanizm zagłady ==
Kompleks obozowy składał się z trzech głównych części:
* Auschwitz I (obóz macierzysty) – pierwotnie koszary wojskowe, przekształcone w 1940 roku w obóz koncentracyjny dla polskich więźniów politycznych. Nad bramą wejściową umieszczono cyniczny napis „Arbeit macht frei" („Praca czyni wolnym").
* Auschwitz II – Birkenau – największy ośrodek masowej zagłady w systemie nazistowskim. Działały tu cztery komory gazowe i krematoria, w których mordowano ludzi przy użyciu cyklonu B. Większość deportowanych (zwłaszcza Żydzi, Romowie, osoby starsze i dzieci) była kierowana bezpośrednio z rampy kolejowej do komór gazowych bez rejestracji.
* Auschwitz III – Monowitz oraz ok. 40 podobozów – ośrodki pracy przymusowej na rzecz niemieckiego przemysłu, m.in. koncernu IG Farben.
Ofiary i skala zbrodni
Szacuje się, że w kompleksie Auschwitz-Birkenau zginęło od 1,1 do 1,5 miliona osób. Około 90% ofiar stanowili Żydzi deportowani z całej okupowanej Europy. Wśród zamordowanych byli również Polacy (ok. 70–75 tys.), Romowie i Sinti (ok. 21 tys.), jeńcy wojenni radzieccy (ok. 15 tys.) oraz więźniowie innych narodowości. Obóz został wyzwolony przez oddziały Armii Czerwonej 27 stycznia 1945 roku. Data ta jest obchodzona jako Międzynarodowy Dzień Pamięci o Ofiarach Holokaustu, ustanowiony rezolucją Zgromadzenia Ogólnego ONZ z 2005 roku.
== Status prawny i funkcja muzeum ==
Na terenie byłego obozu w 1947 roku utworzono Państwowe Muzeum Auschwitz-Birkenau w Oświęcimiu, będące instytucją kultury nadzorowaną przez Ministra Kultury i Dziedzictwa Narodowego. Muzeum chroni teren obozowy (ok. 191 ha), oryginalne budynki, ruiny komór gazowych i krematoriów oraz zachowane przedmioty osobiste ofiar (obuwie, walizki, okulary). Obiekt jest odwiedzany corocznie przez ponad 2 miliony osób z całego świata i pełni funkcję miejsca pamięci, edukacji historycznej oraz ośrodka badawczego. Wszelkie działania na tym terenie podlegają ścisłym regulacjom konserwatorskim, a oficjalnym językiem opisu historycznego stosowanym przez muzeum i polską dyplomację jest wyrażenie: „Były niemiecki nazistowski obóz koncentracyjny i zagłady Auschwitz-Birkenau".
nevwu2l22s9rp8pkc11wx8c43xafx04
538953
538952
2026-04-04T12:31:30Z
Igor123121
34732
/* Struktura obozowa i mechanizm zagłady */
538953
wikitext
text/x-wiki
[[Plik:Auschwitz main gate.jpg|mały]]
[[Plik:Birkenau múzeum - panoramio (cropped).jpg|mały]]
[[Plik:Birkenau gate.JPG|mały]]
Były niemiecki nazistowski obóz koncentracyjny i zagłady Auschwitz-Birkenau został wpisany na Listę Światowego Dziedzictwa UNESCO w 1979 roku jako jedyny obiekt tego rodzaju, uznany za symbol ludobójstwa i przestrogi dla przyszłych pokoleń. Obóz funkcjonował w latach 1940–1945 na terenie okupowanej Polski, w pobliżu miasta Oświęcim (niem. Auschwitz). Jego pełna nazwa w rejestrze UNESCO brzmi: „Auschwitz Birkenau – German Nazi Concentration and Extermination Camp (1940–1945)".
== Struktura obozowa i mechanizm zagłady ==
Kompleks obozowy składał się z trzech głównych części:
* Auschwitz I (obóz macierzysty) – pierwotnie koszary wojskowe, przekształcone w 1940 roku w obóz koncentracyjny dla polskich więźniów politycznych. Nad bramą wejściową umieszczono cyniczny napis „Arbeit macht frei" („Praca czyni wolnym").
* Auschwitz II – Birkenau – największy ośrodek masowej zagłady w systemie nazistowskim. Działały tu cztery komory gazowe i krematoria, w których mordowano ludzi przy użyciu cyklonu B. Większość deportowanych (zwłaszcza Żydzi, Romowie, osoby starsze i dzieci) była kierowana bezpośrednio z rampy kolejowej do komór gazowych bez rejestracji.
* Auschwitz III – Monowitz oraz ok. 40 podobozów – ośrodki pracy przymusowej na rzecz niemieckiego przemysłu, m.in. koncernu IG Farben.
== Ofiary i skala zbrodni ==
Szacuje się, że w kompleksie Auschwitz-Birkenau zginęło od 1,1 do 1,5 miliona osób. Około 90% ofiar stanowili Żydzi deportowani z całej okupowanej Europy. Wśród zamordowanych byli również Polacy (ok. 70–75 tys.), Romowie i Sinti (ok. 21 tys.), jeńcy wojenni radzieccy (ok. 15 tys.) oraz więźniowie innych narodowości. Obóz został wyzwolony przez oddziały Armii Czerwonej 27 stycznia 1945 roku. Data ta jest obchodzona jako Międzynarodowy Dzień Pamięci o Ofiarach Holokaustu, ustanowiony rezolucją Zgromadzenia Ogólnego ONZ z 2005 roku.
== Status prawny i funkcja muzeum ==
Na terenie byłego obozu w 1947 roku utworzono Państwowe Muzeum Auschwitz-Birkenau w Oświęcimiu, będące instytucją kultury nadzorowaną przez Ministra Kultury i Dziedzictwa Narodowego. Muzeum chroni teren obozowy (ok. 191 ha), oryginalne budynki, ruiny komór gazowych i krematoriów oraz zachowane przedmioty osobiste ofiar (obuwie, walizki, okulary). Obiekt jest odwiedzany corocznie przez ponad 2 miliony osób z całego świata i pełni funkcję miejsca pamięci, edukacji historycznej oraz ośrodka badawczego. Wszelkie działania na tym terenie podlegają ścisłym regulacjom konserwatorskim, a oficjalnym językiem opisu historycznego stosowanym przez muzeum i polską dyplomację jest wyrażenie: „Były niemiecki nazistowski obóz koncentracyjny i zagłady Auschwitz-Birkenau".
pb61v96za4gywfpm24pl6udj1bnalxe
Wikijunior:Polska/Stare Miasto w Warszawie
104
63393
538954
2026-04-04T12:32:25Z
Igor123121
34732
nowe hasło
538954
wikitext
text/x-wiki
[[Plik:Warszawa Stare Miasto (dron).jpg|mały]]
[[Plik:Pomnik Syreny i strona Dekerta Rynek Starego Miasta w Warszawie 2020.jpg|mały]]
[[Plik:Old Town in Warsaw view from Vistula 2019a.jpg|mały]]
Historyczne centrum Warszawy zostało wpisane na Listę Światowego Dziedzictwa UNESCO w 1980 roku jako wyjątkowy przykład niemal całkowitej rekonstrukcji zabytkowego zespołu urbanistycznego, zniszczonego w wyniku działań wojennych. Wpis ten stanowi jedyny na świecie przypadek uznania przez UNESCO odbudowanego, a nie oryginalnego obiektu, co podkreśla unikalny charakter polskiej odbudowy.
== Zniszczenie i decyzja o odbudowie ==
Stare Miasto w Warszawie, ukształtowane w XIII–XIV wieku, zostało niemal doszczętnie zniszczone w trakcie II wojny światowej. Celowe burzenie miasta przeprowadzono głównie po upadku powstania warszawskiego w październiku 1944 roku, kiedy to niemieckie oddziały przystąpiły do systematycznego wyburzania zabudowy. Stopień zniszczenia Starego Miasta szacuje się na ponad 85%. Decyzja o rekonstrukcji historycznego centrum została podjęta bezpośrednio po wojnie, w 1945 roku, przez Biuro Odbudowy Stolicy (BOS) pod kierunkiem architekta Jana Zachwatowicza.
== Metoda rekonstrukcji ==
Podstawą odbudowy były zachowane materiały dokumentacyjne: przedwojenne pomiary architektoniczne, fotografie, inwentaryzacje oraz malarskie weduty (panoramy miasta), w tym szczególnie cenne obrazy Bernarda Bellotta (Canaletta) z XVIII wieku. Prace trwały od 1949 do 1963 roku. Rekonstrukcja objęła układ urbanistyczny, bryły kamienic, detale architektoniczne fasad oraz wnętrza wybranych obiektów, przywracając im wygląd sprzed zniszczeń (głównie z okresu XVII–XVIII w.). Niektóre budynki odbudowano w stanie z wcześniejszych epok, usuwając nawarstwiania z XIX wieku.
== Obiekty zabytkowe i status prawny ==
Na terenie odbudowanego Starego Miasta znajdują się kluczowe obiekty historyczne Warszawy:
* Zamek Królewski – dawna rezydencja monarchów i siedziba Sejmu Rzeczypospolitej, odbudowany w latach 1971–1984 ze składek społeczeństwa,
* Rynek Starego Miasta z kamienicami mieszczańskimi i figurą Syrenki Warszawskiej – herbu miasta,
* Katedra św. Jana Chrzciciela – najstarsza świątynia Warszawy, miejsce koronacji dwóch ostatnich królów Polski,
fragment zachowanych Barbakanu i murów obronnych.
Obszar Starego Miasta jest objęty ochroną konserwatorską i podlega przepisom ustawy o ochronie zabytków i opiece nad zabytkami. Nadzór nad jego stanem sprawuje Stołeczny Konserwator Zabytków oraz Narodowy Instytut Dziedzictwa. UNESCO uzasadniło wpis na Listę, wskazując, że odbudowa Starego Miasta stanowi materialny dowód dążenia narodu do zachowania ciągłości kulturowej i tożsamości historycznej.
t8i1fq4nvmkq3k30lysmassx4zhylt1
Wikijunior:Polska/Białowieża
104
63394
538955
2026-04-04T12:33:30Z
Igor123121
34732
n
538955
wikitext
text/x-wiki
[[Plik:Wisentsauerland.jpg|mały]]
[[Plik:Rezerwat ścisły w Puszczy Białowieskiej 5 (Nemo5576).jpg|mały]]
[[Plik:Wieza Kosy Most-widok-1.jpg|mały]]
Puszcza Białowieska jest transgranicznym obiektem przyrodniczym, wpisanym na Listę Światowego Dziedzictwa UNESCO. Pierwszego wpisu dokonano w 1979 roku (po stronie polskiej), a następnie rozszerzono go w 1992 roku o część białoruską oraz w 2014 roku o kolejne obszary po obu stronach granicy. Jest to ostatni na Niżu Europejskim zachowany fragment lasu o charakterze pierwotnym, stanowiący unikalne świadectwo ekosystemów, które pokrywały kontynent przed ingerencją człowieka.
== Charakterystyka przyrodnicza i ochrona prawna ==
Puszcza Białowieska rozciąga się na pograniczu polsko-białoruskim, obejmując łącznie ponad 140 tys. ha (w tym ok. 63 tys. ha po stronie polskiej). W polskiej części ochroną ścisłą objęty jest Białowieski Park Narodowy, utworzony w 1932 roku (jeden z najstarszych parków narodowych w Europie). Jego najstarsza część – Obszar Ochrony Ścisłej – zachowała się w stanie zbliżonym do naturalnego, bez ingerencji gospodarczej. Na obszarze tym rosną drzewostany liczące ponad 100 lat, w tym monumentalne dęby, jesiony i świerki, osiągające rekordowe rozmiary. Najsłynniejszym drzewem jest Dąb Jagiełło (dziś martwy) oraz żyjący Dąb Bartny.
== Żubr – symbol Puszczy ==
Puszcza Białowieska jest znana jako ostatnia ostoja żubra (Bison bonasus) – największego lądowego ssaka Europy. Gatunek ten został niemal całkowicie wyniszczony w wyniku I wojny światowej i polowań. Ostatniego dziko żyjącego żubra białowieskiego zabito w 1919 roku. Przetrwanie gatunku umożliwiła restytucja (odtworzenie populacji) prowadzona od lat 20. XX wieku na podstawie osobników zachowanych w ogrodach zoologicznych. Obecnie stado żubrów w Puszczy liczy kilkaset sztuk i stanowi największą wolno żyjącą populację tego gatunku na świecie. Program ochrony żubra koordynuje Białowieski Park Narodowy we współpracy z międzynarodowymi organizacjami, takimi jak IUCN.
== Status prawny i zarządzanie ==
Po stronie polskiej Puszcza Białowieska podlega złożonemu systemowi ochrony. Najwyższy status posiada Białowieski Park Narodowy, którego działalność reguluje ustawa o ochronie przyrody. Pozostałe obszary leśne Puszczy są zarządzane przez Lasy Państwowe (Nadleśnictwa Białowieża, Browsk i Hajnówka) i podlegają różnym reżimom ochronnym, w tym sieci Natura 2000. Kwestia zakresu ochrony Puszczy i dopuszczalności zabiegów gospodarczych na jej terenie jest przedmiotem sporów prawnych, w tym orzeczeń Trybunału Sprawiedliwości Unii Europejskiej (wyrok z 2018 r., stwierdzający naruszenie przez Polskę dyrektywy siedliskowej).
ap39n50z9psl2ywwcfe88sn40ivo6ja
Wikijunior:Polska/Zamek w Malborku
104
63395
538956
2026-04-04T12:34:26Z
Igor123121
34732
nowe hasło
538956
wikitext
text/x-wiki
[[Plik:Malbork zamek (dron1).jpg|mały]]
[[Plik:Panorama of Malbork Castle, part 4.jpg|mały]]
[[Plik:Malbork, Zamek Wysoki, Refektarz konwentu.jpg|mały]]
Zamek w Malborku został wpisany na Listę Światowego Dziedzictwa UNESCO w 1997 roku jako największy na świecie gotycki zespół zamkowy zbudowany z cegły. Obiekt ten, położony nad rzeką Nogat w województwie pomorskim, był siedzibą wielkich mistrzów Zakonu Krzyżackiego, a następnie jedną z rezydencji królów polskich. Obecnie jest jednym z najczęściej odwiedzanych zabytków w Polsce.
== Historia budowy i funkcje zamku ==
Budowę zamku rozpoczęto w 1274 roku z inicjatywy Zakonu Szpitala Najświętszej Marii Panny Domu Niemieckiego w Jerozolimie (Zakonu Krzyżackiego). W 1309 roku, po przeniesieniu stolicy zakonu z Wenecji, zamek stał się główną rezydencją wielkich mistrzów krzyżackich i centrum administracyjnym państwa zakonnego. Kompleks powstawał etapami i składa się z trzech głównych części:
Zamek Wysoki – najstarsza, warowna część, pełniąca funkcje klasztorne (kościół zamkowy, refektarz, dormitorium),
Zamek Średni – siedziba władz zakonnych, z Wielkim Refektarzem i komnatami wielkiego mistrza,
Zamek Niski (Przedzamcze) – zaplecze gospodarcze z magazynami, zbrojownią i stajniami.
Po klęsce Zakonu w wojnie trzynastoletniej i podpisaniu drugiego pokoju toruńskiego w 1466 roku, zamek przeszedł pod władanie Królestwa Polskiego, pełniąc przez kolejne stulecia funkcję rezydencji królewskiej i siedziby starostów.
== Zniszczenia i odbudowa ==
Zamek został poważnie zniszczony podczas II wojny światowej – w 1945 roku uszkodzeniu uległo około 60% zabudowy, w tym Zamek Wysoki. Prace konserwatorskie i rekonstrukcyjne trwają od 1946 roku do dziś i stanowią jedno z największych przedsięwzięć konserwatorskich w Europie. Obecnie zamek jest zarządzany przez Muzeum Zamkowe w Malborku, będące państwową instytucją kultury. Obiekt posiada status Pomnika Historii oraz jest wpisany do rejestru zabytków. Powierzchnia użytkowa zamku wynosi ponad 21 tysięcy m², a łączna długość murów obronnych przekracza 1,5 km.
7q7yxzedlo70i3usu89m09k01bcb0ii
Wikijunior:Polska/Stare Miasto w Zamościu
104
63396
538957
2026-04-04T12:35:40Z
Igor123121
34732
nowe hasło
538957
wikitext
text/x-wiki
[[Plik:Stare Miasto w Zamościu.jpg|mały]]
[[Plik:ZAMOŚĆ, AB-016.jpg|mały]]
[[Plik:Zamosc pierzeja polnocna.jpg|mały]]
Stare Miasto w Zamościu zostało wpisane na Listę Światowego Dziedzictwa UNESCO w 1992 roku jako wyjątkowy przykład renesansowego miasta zakładanego od podstaw, zrealizowanego według jednolitej koncepcji urbanistycznej. Zamość jest uznawany za najdoskonalszy w Europie Środkowo-Wschodniej przykład tzw. miasta idealnego (città ideale), opartego na włoskich teoriach urbanistycznych XVI wieku.
== Założenie miasta i koncepcja urbanistyczna ==
Zamość został założony w 1580 roku z inicjatywy kanclerza wielkiego koronnego Jana Zamoyskiego, jednego z najpotężniejszych magnatów Rzeczypospolitej Obojga Narodów. Projekt urbanistyczny i architektoniczny opracował padewski architekt Bernardo Morando, który stworzył plan miasta na rzucie pięcioboku, łączący funkcje rezydencjonalne, handlowe i obronne. Układ ulic oparty został na regularnej siatce prostokątnej z centralnym Rynkiem Wielkim (100 × 100 m), wokół którego rozmieszczono kamienice mieszczańskie z charakterystycznymi podcieniami. Miasto było jednocześnie ważnym ośrodkiem obronnym – otoczono je systemem fortyfikacji bastionowych, które do dziś zachowały się w znacznym stopniu.
== Architektura i wielokulturowość ==
Zamość od momentu powstania był miastem wielokulturowym, zamieszkiwanym przez Polaków, Ormian, Żydów, Greków oraz przedstawicieli innych narodów, co znalazło odzwierciedlenie w architekturze. Do najważniejszych zabytków Starego Miasta należą:
* Kolegiata zamojska (obecnie katedra) – manierystyczna świątynia zaprojektowana przez Moranda, będąca głównym kościołem fundatora,
* Kamienice ormiańskie przy Rynku Wielkim – z charakterystycznymi dekoracjami fasad,
* Pałac Zamoyskich – rezydencja rodu fundatorów,
* Ratusz z wieżą zegarową i monumentalnymi schodami.
W Zamościu funkcjonowała również Akademia Zamojska, założona w 1594 roku jako trzecia uczelnia wyższa w Rzeczypospolitej (po Krakowie i Wilnie).
== Status ochronny i zarządzanie ==
Stare Miasto w Zamościu posiada status Pomnika Historii, nadany przez Prezydenta RP, oraz jest wpisane do rejestru zabytków. Prace konserwatorskie i rewaloryzacyjne, realizowane od lat 70. XX wieku, mają na celu przywrócenie renesansowego charakteru zabudowy. Nadzór nad stanem zabytku sprawuje Wojewódzki Konserwator Zabytków w Lublinie we współpracy z samorządem miasta.
6lp2y88pifi0atwm6ywhx45hs4wl7bu
Wikijunior:Polska/Stare Miasto w Toruniu
104
63397
538958
2026-04-04T12:36:36Z
Igor123121
34732
nowe hasło
538958
wikitext
text/x-wiki
[[Plik:Torun Okt 2019 15.jpg|mały]]
[[Plik:Toruń, kościół NMP (widok z wieży ratuszowej).JPG|mały]]
[[Plik:Torun ratusz corr.jpg|mały]]
Średniowieczny Zespół Miejski Torunia został wpisany na Listę Światowego Dziedzictwa UNESCO w 1997 roku jako jeden z najlepiej zachowanych w Europie przykładów gotyckiej zabudowy miejskiej z okresu XIII–XV wieku. Toruń jest również miastem narodzin Mikołaja Kopernika, co nadaje mu dodatkowe znaczenie w kontekście światowego dziedzictwa nauki.
== Geneza miasta i układ urbanistyczny ==
Toruń został założony w 1233 roku przez Zakon Krzyżacki jako warownia nad Wisłą. Miasto otrzymało prawa miejskie na prawie chełmińskim. Układ urbanistyczny obejmuje dwa odrębne zespoły: Stare Miasto (lokowane w 1233 r.) oraz Nowe Miasto (lokowane w 1264 r.), które w 1454 roku zostały połączone w jeden organizm miejski. Oba zespoły zachowały regularną siatkę ulic, typową dla planowanych miast krzyżackich. Po wojnie trzynastoletniej, na mocy drugiego pokoju toruńskiego (1466), Toruń powrócił do Królestwa Polskiego i stał się jednym z największych ośrodków handlowych Rzeczypospolitej, będąc członkiem Hanzy.
== Zabytki architektury gotyckiej ==
Toruń posiada jedno z największych w Europie skupisk ceglanej architektury gotyckiej. Do najważniejszych obiektów zabytkowych należą:
* Ratusz Staromiejski – jeden z największych ceglanych ratuszy w Europie, wzniesiony w XIV wieku, obecnie siedziba Muzeum Okręgowego,
* Kościół św. Jana Chrzciciela i św. Jana Ewangelisty – gotycka fara, w której w 1473 roku ochrzczono Mikołaja Kopernika; mieści tzw. dzwon Tuba Dei (jeden z największych średniowiecznych dzwonów w Polsce),
* Kościół św. Jakuba – trójnawowa bazylika z XIV wieku na terenie Nowego Miasta,
* Ruiny zamku krzyżackiego – zniszczonego przez mieszkańców w trakcie antykrzyżackiego buntu w 1454 roku,
* Dom Kopernika – gotycka kamienica, w której urodził się astronom, obecnie muzeum biograficzne.
Zachowały się również fragmenty murów obronnych z bramami (Mostową, Żeglarską i Klasztorną) oraz liczne kamienice mieszczańskie ze średniowiecznymi piwnicami i spichlerzami.
== Ochrona prawna i zarządzanie ==
Historyczny zespół miejski Torunia posiada status Pomnika Historii nadany przez Prezydenta RP oraz jest wpisany do rejestru zabytków. Ochroną konserwatorską objęty jest nie tylko układ urbanistyczny, ale także bryły poszczególnych budynków oraz detale architektoniczne fasad. Nadzór sprawuje Miejski Konserwator Zabytków. Toruń jest również znany z wielowiekowej tradycji wypieku pierników toruńskich, której początki sięgają XIV wieku. Żywy Muzeum Piernika prezentuje historyczne metody produkcji, a samo wypiecznictwo jest elementem niematerialnego dziedzictwa kulturowego regionu.
tnc4oqiypx6ex58j96xao4rbnm9qsxt
Wikijunior:Polska/Kościoły Pokoju (Jawor, Świdnica)
104
63398
538959
2026-04-04T12:37:26Z
Igor123121
34732
nowe hasło
538959
wikitext
text/x-wiki
[[Plik:Swiątynia Pokoju w Jaworze - 191.jpg|mały]]
[[Plik:Jawor (0050).jpg|mały]]
[[Plik:2016 Kowary Park Miniatur (48).JPG|mały]]
Kościoły Pokoju (Friedenskirchen) w Jaworze i Świdnicy zostały wpisane na Listę Światowego Dziedzictwa UNESCO w 2001 roku jako największe drewniane budowle sakralne w Europie oraz unikalne świadectwo dążeń do wolności religijnej na kontynencie. Są to jedyne zachowane obiekty spośród trzech kościołów, na budowę których zgodził się cesarz Ferdynand III Habsburg w ramach ustaleń kończących wojnę trzydziestoletnią.
== Geneza historyczna i warunki budowy ==
Podstawą prawną wzniesienia Kościołów Pokoju był pokój westfalski z 1648 roku, kończący wojnę trzydziestoletnią w Europie. Na mocy jego postanowień cesarz zezwolił śląskim protestantom (luteranom) na budowę trzech świątyń w katolickich księstwach świdnickim, jaworskim i głogowskim. Warunki budowy były jednak celowo restrykcyjne:
* świątynie musiały powstać poza murami miasta,
* jako materiał budulcowy dopuszczono wyłącznie drewno, glinę i słomę (zakaz używania kamienia i cegły),
* budowa musiała zostać ukończona w ciągu jednego roku,
* świątynie nie mogły posiadać wież ani dzwonów.
Kościół w Jaworze wzniesiono w 1654–1655 roku, a kościół w Świdnicy w 1656–1657 roku. Trzeci kościół, w Głogowie, nie zachował się do czasów współczesnych (spłonął w 1758 r.).
== Architektura i wnętrza ==
Mimo ograniczeń materiałowych, budowniczowie stworzyli obiekty o imponujących rozmiarach. Kościół w Jaworze może pomieścić ok. 6 tysięcy osób, a kościół w Świdnicy ok. 7,5 tysiąca. Obie świątynie mają konstrukcję szkieletową (ryglową), wypełnioną gliną i otynkowaną. Wnętrza kontrastują z surowym wyglądem zewnętrznym – zostały bogato wyposażone w barokowe polichromie (malowidła ścienne i sufitowe), wielopiętrowe empory (galerie dla wiernych) oraz ołtarze, ambony i organy. Malowidła przedstawiają sceny biblijne i alegoryczne, tworząc jeden z najcenniejszych w Europie zespołów protestanckiej sztuki barokowej.
== Status prawny i ochrona ==
Oba kościoły pozostają czynnymi świątyniami Kościoła Ewangelicko-Augsburskiego w Polsce. Podlegają jednocześnie ochronie konserwatorskiej na mocy prawa polskiego (wpis do rejestru zabytków) oraz konwencji UNESCO. Obiektami zarządzają lokalne parafie ewangelickie we współpracy z Wojewódzkim Konserwatorem Zabytków. Oba kościoły posiadają również status Pomnika Historii nadany przez Prezydenta RP.
att2v9zelwatgv7sdszmrvluw7rm154
Wikijunior:Polska/Hala Stulecia we Wrocławiu
104
63399
538960
2026-04-04T15:42:01Z
Igor123121
34732
utworzenie
538960
wikitext
text/x-wiki
[[Plik:Wroclaw - Hala Stulecia 03a.jpg|mały]]
[[Plik:Wrocław - Jahrhunderthalle6.jpg|mały]]
[[Plik:Wroclaw - Hala Stulecia z fontanna.jpg|mały]]
Hala Stulecia (niem. Jahrhunderthalle) we Wrocławiu została wpisana na Listę Światowego Dziedzictwa UNESCO w 2006 roku jako pionierskie dzieło inżynierii i architektury XX wieku. Obiekt ten stanowi przełomowy przykład zastosowania żelbetu (betonu zbrojonego) w budownictwie monumentalnym i jest uznawany za jedno z kluczowych osiągnięć nowoczesnej architektury na świecie.
== Projekt i budowa ==
Hala została zaprojektowana przez niemieckiego architekta Maxa Berga i wzniesiona w latach 1911–1913 na zlecenie władz miasta Wrocławia (wówczas Breslau) z okazji setnej rocznicy wezwania króla pruskiego Fryderyka Wilhelma III do walki z Napoleonem. Budowa trwała zaledwie 23 miesiące. Obiekt wyróżnia się centralną kopułą żebrową o średnicy 65 metrów i wysokości 42 metrów, która w momencie ukończenia była największą tego typu konstrukcją na świecie. Kopuła opiera się na 32 żebrach, wspieranych przez system łuków i filarów. Wnętrze hali mieści widownię mogącą pomieścić ok. 6 tysięcy osób (w konfiguracji koncertowej).
== Znaczenie dla historii architektury ==
UNESCO uzasadniło wpis na Listę Światowego Dziedzictwa, wskazując, że Hala Stulecia stanowi kamień milowy w rozwoju architektury żelbetowej, który wywarł wpływ na projektantów na całym świecie w XX i XXI wieku. Konstrukcja ta udowodniła, że żelbet może być wykorzystany do tworzenia obiektów o monumentalnej skali i nowatorskiej estetyce, co wcześniej było zarezerwowane dla konstrukcji stalowych. Hala jest częścią większego zespołu architektoniczno-krajobrazowego, obejmującego pergolę z fontanną multimedialną oraz historyczny park wystawowy.
== Status prawny i współczesne funkcjonowanie ==
Hala Stulecia jest własnością gminy Wrocław i jest zarządzana przez spółkę miejską Wrocławskie Przedsiębiorstwo Hala Ludowa Sp. z o.o. Obiekt posiada status Pomnika Historii nadany przez Prezydenta RP oraz jest wpisany do rejestru zabytków. Obecnie pełni funkcję wielofunkcyjnej areny widowiskowo-sportowej, w której odbywają się koncerty, wydarzenia sportowe, targi oraz kongresy. Przed halą znajduje się stalowa iglica o wysokości 96 metrów, wzniesiona w 1948 roku z okazji Wystawy Ziem Odzyskanych, która stała się jednym z symboli współczesnego Wrocławia.
d1y5356fpgpzfb0v9oy3cdl065lnawi
Wikijunior:Polska/Drewniane kościoły Małopolski
104
63400
538961
2026-04-04T15:42:55Z
Igor123121
34732
utworzenie
538961
wikitext
text/x-wiki
[[Plik:Sękowa, kościół św. Filipa i św. Jakuba (HB8).jpg|mały|Kościół św. Filipa i Jakuba w Sękowej]]
[[Plik:Bączal Dolny, kościół św. Mikołaja Biskupa (HB1).jpg|mały|Kościół z Bączala Dolnego]]
[[Plik:Grywałd, kościół św. Marcina (HB1).jpg|mały|Kościół św. Marcina w Grywałdzie]]
Drewniane kościoły południowej Małopolski zostały wpisane na Listę Światowego Dziedzictwa UNESCO w 2003 roku jako wyjątkowe przykłady średniowiecznej architektury sakralnej, reprezentujące tradycję budownictwa drewnianego charakterystyczną dla Europy Środkowej. Na liście znalazło się sześć świątyń katolickich, wznoszonych od XIV do XVI wieku, które zachowały się w stanie zbliżonym do pierwotnego.
== Lokalizacja i charakterystyka obiektów ==
Na wpis UNESCO składa się sześć kościołów rozproszonych w południowej części województw małopolskiego i podkarpackiego:
# Binarowa – kościół pw. św. Michała Archanioła (XV w.),
# Blizne – kościół pw. Wszystkich Świętych (XV w.),
# Dębno Podhalańskie – kościół pw. św. Michała Archanioła (XV w.),
# Haczów – kościół pw. Wniebowzięcia NMP (XIV w.) – uznawany za najstarszy drewniany kościół gotycki w Europie,
# Lipnica Murowana – kościół pw. św. Leonarda (XV w.),
# Sękowa – kościół pw. śś. Filipa i Jakuba (XV–XVI w.).
Wszystkie kościoły są obiektami jednonawowymi, wzniesionymi w konstrukcji zrębowej (wieńcowej), czyli z poziomo ułożonych bali drewnianych, łączonych na węgłach (narożnikach) bez użycia gwoździ.
== Wystrój wnętrz i polichromie ==
Wartość historyczna i artystyczna tych obiektów wynika nie tylko z architektury, ale przede wszystkim z zachowanych polichromii (malowideł ściennych i stropowych). Malowidła, datowane na XV–XVII wiek, przedstawiają sceny biblijne, wizerunki świętych oraz motywy ornamentalne. Szczególnie cenne są polichromie w kościele w Dębnie, pokrywające niemal całą powierzchnię ścian i stropów, tworząc bogaty program ikonograficzny. W kościele w Haczowie zachowała się najstarsza w Polsce gotycka polichromia figuralna na drewnie (ok. 1370 r.).
== Status prawny i ochrona konserwatorska ==
Wszystkie sześć kościołów pozostaje czynnymi świątyniami parafialnymi Kościoła rzymskokatolickiego. Podlegają one ochronie konserwatorskiej na mocy prawa polskiego (wpis do rejestru zabytków) oraz konwencji UNESCO dotyczącej ochrony światowego dziedzictwa kulturalnego i naturalnego. Kościoły posiadają również status Pomników Historii nadany przez Prezydenta RP. Specyfika obiektów drewnianych wymaga stałego nadzoru nad stanem konstrukcji, ochrony przeciwpożarowej oraz przeciwdziałania szkodnikom biologicznym (owady, grzyby). Prace konserwatorskie koordynują właściwe terytorialnie delegatury Wojewódzkich Urzędów Ochrony Zabytków.
ef4wmfgmk7lmblq4r0363ox9vb5anfw
Wikijunior:Polska/Kalwaria Zebrzydowska
104
63401
538962
2026-04-04T15:43:49Z
Igor123121
34732
utworzenie
538962
wikitext
text/x-wiki
[[Plik:Kalwaria Zebrzydowska 014.jpg|mały]]
[[Plik:Kalwaria Zebrzydowska - wnętrze bazyliki widok na ołtarz -.JPG|mały|Wnętrze kościoła]]
Kalwaria Zebrzydowska została wpisana na Listę Światowego Dziedzictwa UNESCO w 1999 roku jako wyjątkowy przykład manierystycznego krajobrazu kulturowego, w którym architektura sakralna została wkomponowana w naturalne ukształtowanie terenu. Obiekt jest jednocześnie jednym z najważniejszych sanktuariów pielgrzymkowych w Polsce, odwiedzanym corocznie przez ponad milion wiernych.
== Geneza i koncepcja założenia ==
Sanktuarium pasyjno-maryjne zostało założone na przełomie XVI i XVII wieku z inicjatywy wojewody krakowskiego Mikołaja Zebrzydowskiego. Inspiracją dla fundacji było pielgrzymowanie do Jerozolimy – Zebrzydowski postanowił odwzorować topografię Ziemi Świętej na wzgórzach wokół swojej siedziby w Lanckoronie. Podstawą projektu były pomiary i plany miejsc świętych Jerozolimy, przywiezione z pielgrzymki do Palestyny. Prace budowlane rozpoczęto w 1600 roku od wzniesienia Kaplicy Ukrzyżowania na wzgórzu Żarek. Architektoniczny plan zespołu opracowali: flamandzki złotnik i architekt Paweł Baudarth oraz, w późniejszym okresie, włoski architekt Giovanni Maria Bernardoni.
== Architektura i drogi kalwaryjskie ==
Kompleks obejmuje klasztor bernardynów z kościołem bazylikowym (wzniesiony w l. 1603–1609) oraz system 42 kaplic (tzw. stacji), rozmieszczonych na wzgórzach w promieniu ok. 4 km wokół klasztoru. Kaplice te wyznaczają dwie główne drogi kalwaryjskie: Drogę Krzyżową (odtwarzającą Mękę Pańską) oraz Dróżki Matki Bożej (poświęcone życiu Maryi). Każda kaplica posiada odrębną formę architektoniczną, nawiązującą do konkretnych budowli jerozolimskich, takich jak Grób Pański, Dom Piłata czy Wieczernik.
== Żywa tradycja pielgrzymkowa i status prawny ==
Kalwaria Zebrzydowska jest czynnym ośrodkiem kultu, zarządzanym przez zakon Braci Mniejszych (bernardynów). Najważniejszym wydarzeniem w kalendarzu religijnym są wielodniowe misteria Męki Pańskiej, organizowane w Wielkim Tygodniu z udziałem tysięcy pielgrzymów i aktorów-ochotników. Jest to jedna z najstarszych żywych tradycji pasyjnych w Europie. Obiekt posiada status Pomnika Historii nadany przez Prezydenta RP. UNESCO uzasadniło wpis, wskazując na unikalną harmonię między naturalnym krajobrazem a architekturą sakralną oraz na ciągłość tradycji pielgrzymkowej trwającą nieprzerwanie od ponad 400 lat.
r2spibxfznfgnjfkphm1vsu404w1bcz
Wikijunior:Polska/Cerkwie drewniane
104
63402
538963
2026-04-04T15:44:57Z
Igor123121
34732
utworzenie
538963
wikitext
text/x-wiki
[[Plik:Chotyniec, cerkiew Narodzenia Przenajświętszej Bogurodzicy (HB4).jpg|mały|Cerkiew Narodzenia Przenajświętszej Bogurodzicy w Chotyńcu]]
[[Plik:Radruż, cerkiew św. Paraskewy (HB5).jpg|mały|Radruż, Cerkiew św. Paraskewy w Radrużu]]
[[Plik:Smolnik, cerkiew św. Michała Archanioła (HB5).jpg|mały|Smolnik (powiat bieszczadzki)]]
Drewniane cerkwie regionu karpackiego zostały wpisane na Listę Światowego Dziedzictwa UNESCO w 2013 roku jako wspólny, transgraniczny obiekt polsko-ukraiński. Na liście znalazło się 16 świątyń (8 po stronie polskiej i 8 po ukraińskiej), reprezentujących tradycję sakralnego budownictwa drewnianego Kościołów wschodnich, rozwijaną w Karpatach od XVI do XIX wieku.
== Polskie cerkwie na Liście UNESCO ==
Na terenie Polski ochroną UNESCO objęto osiem drewnianych cerkwi, zlokalizowanych w województwach podkarpackim i małopolskim:
* Radruż – cerkiew pw. św. Paraskewy (XVI w.) – najstarsza drewniana cerkiew w Polsce,
* Chotyniec – cerkiew pw. Narodzenia Przenajświętszej Bogurodzicy (XVII w.),
* Smolnik – cerkiew pw. św. Michała Archanioła (XVIII w.),
* Turzańsk – cerkiew pw. św. Michała Archanioła (XVIII w.),
* Brunary Wyżne – cerkiew pw. św. Michała Archanioła (XVIII w.),
* Kwiatoń – cerkiew pw. św. Paraskewy (XVII w.),
* Owczary – cerkiew pw. Opieki Bogurodzicy (XVII w.),
* Powroźnik – cerkiew pw. św. Jakuba Młodszego Apostoła (XVII w.).
== Architektura i wystrój wnętrz ==
Cerkwie karpackie reprezentują kilka typów architektonicznych, zróżnicowanych w zależności od grupy etnicznej, która je wzniosła (Łemkowie, Bojkowie, Huculi). Budowle łemkowskie wyróżniają się charakterystyczną wieżą-dzwonnicą zintegrowaną z bryłą świątyni. Cerkwie bojkowskie cechują się trzema kopułami o zbliżonej wysokości, ustawionymi wzdłuż osi budynku. Wszystkie obiekty wzniesiono w technice zrębowej (wieńcowej), z bali drewnianych łączonych bez gwoździ. Wnętrza wyposażone są w ikonostasy (ściany ikon oddzielające nawę od prezbiterium) oraz polichromie ścienne, łączące kanon bizantyjski z lokalnymi tradycjami artystycznymi.
== Status prawny i dziedzictwo kulturowe ==
Polskie cerkwie wpisane na Listę UNESCO posiadają status Pomników Historii i są wpisane do rejestru zabytków. Część z nich pełni funkcję czynnych świątyń (głównie grekokatolickich lub prawosławnych), a część została przejęta przez Kościół rzymskokatolicki po Akcji „Wisła" z 1947 roku, w wyniku której ludność łemkowska i bojkowska została przymusowo przesiedlona z Karpat. Współcześnie obiekty te stanowią świadectwo wielokulturowego dziedzictwa regionu i podlegają intensywnym pracom konserwatorskim, koordynowanym przez Narodowy Instytut Dziedzictwa we współpracy z lokalnymi parafiami.
h6is3gl3pqhhpivma4iscu2k3ouw1wl
Wikijunior:Polska/Kopalnia w Tarnowskich Górach
104
63403
538964
2026-04-04T15:45:47Z
Igor123121
34732
utworzenie
538964
wikitext
text/x-wiki
[[Plik:Zabytkowa Kopalnia Rud Srebronosnych Tarnowskie Gory 1 20070627.jpg|mały|Szyb „Anioł” wraz z budynkiem nadszybia mieszczącym Zabytkową Kopalnię Srebra]]
[[Plik:Tarnowskie Góry - krajobraz pogórniczy.jpg|mały|Pofałdowany teren w obrębie ulicy Wodociągowej i Staszica będący pozostałościami po dawnej działalności wydobywczej kopalni „Fryderyk”]]
Kopalnia rud ołowiu, srebra i cynku wraz z systemem gospodarowania wodami podziemnymi w Tarnowskich Górach została wpisana na Listę Światowego Dziedzictwa UNESCO w 2017 roku. Jest to obiekt uznany za wyjątkowe świadectwo wielowiekowej działalności górniczej na Górnym Śląsku oraz za unikatowy w skali światowej przykład systemu zarządzania wodami podziemnymi, który funkcjonuje od XVI wieku do dziś.
== Historia wydobycia i rozwój górnictwa ==
Początki górnictwa kruszcowego w Tarnowskich Górach sięgają 1526 roku, kiedy to odkryto bogate złoża rud ołowiu i srebra. Margraf brandenburski Jerzy Hohenzollern nadał miastu wolność górniczą oraz prawo do prowadzenia wydobycia. Przez kolejne wieki kopalnia stanowiła jedno z najważniejszych centrów wydobycia metali nieżelaznych w Europie Środkowej. W XVIII i XIX wieku eksploatacja objęła również rudy cynku, a podziemna infrastruktura została rozbudowana o nowe chodniki, sztolnie i szyby. Wydobycie ostatecznie zakończono w 1912 roku, po wyczerpaniu ekonomicznie opłacalnych złóż.
== System odwadniania i Sztolnia Głęboka ==
Największym wyzwaniem technicznym dla górników była obecność dużych ilości wód podziemnych, zalewających wyrobiska. Aby umożliwić wydobycie, opracowano rozbudowany system odwadniania, składający się z dziesiątków kilometrów podziemnych kanałów, sztolni i zbiorników. Kluczowym elementem jest Sztolnia Głęboka Fryderyk, oddana do użytku w 1835 roku, o długości ok. 5 km, która odprowadza wody z rejonu kopalni do rzeki Drawy. System ten funkcjonuje do dziś, zaopatrując region w wodę pitną. Łączna długość podziemnych wyrobisk objętych ochroną UNESCO sięga ok. 150 km, tworząc jeden z największych kompleksów podziemnych w Europie.
== Status prawny i współczesne funkcjonowanie ==
Obiekt jest zarządzany przez Stowarzyszenie Miłośników Ziemi Tarnogórskiej oraz gminę Tarnowskie Góry. Podziemna trasa turystyczna, obejmująca przejazd łodzią podziemną kanałami Sztolni Czarnego Pstrąga, jest jedną z najpopularniejszych atrakcji turystycznych Górnego Śląska. Obiekt posiada status Pomnika Historii nadany przez Prezydenta RP oraz jest wpisany do rejestru zabytków. Wpis na Listę UNESCO objął nie tylko same wyrobiska, lecz również naziemny system wodny, w tym Sztolnię Głęboką oraz urządzenia hydrotechniczne rozproszone na terenie kilku gmin, co czyni ten obiekt jednym z największych terytorialnie wpisów UNESCO w Polsce.
j9ycisjajuo4s8co9vvd7ij7u436oh9
Wikijunior:Polska/Krzemionki
104
63404
538965
2026-04-04T15:46:28Z
Igor123121
34732
utworzenie
538965
wikitext
text/x-wiki
[[Plik:Krzemionki 20150519 6519.jpg|mały|Rezerwat archeologiczny Krzemionki]]
[[Plik:Krzemionki.JPG|mały|Krzemień pasiasty na ścianie kopalni Krzemionki]]
Krzemionki Opatowskie zostały wpisane na Listę Światowego Dziedzictwa UNESCO w 2019 roku jako wyjątkowy przykład prahistorycznego górnictwa podziemnego, stanowiący jedno z najważniejszych stanowisk archeologicznych epoki neolitu i wczesnego brązu w Europie. Obiekt znajduje się w województwie świętokrzyskim, w pobliżu Ostrowca Świętokrzyskiego.
== Datowanie i skala wydobycia ==
Kopalnie krzemienia pasiastego w Krzemionkach funkcjonowały przez ok. 2 tysiące lat, od około 3900 do 1600 roku p.n.e. (neolit – wczesna epoka brązu). Na obszarze ok. 78 ha zlokalizowano ponad 4 tysiące szybów górniczych o głębokości sięgającej 9 metrów, połączonych systemem podziemnych chodników. Wydobywano tu unikalny surowiec – krzemień pasiasty (szarozielony kamień z charakterystycznymi jaśniejszymi paskami), który ze względu na wyjątkowe właściwości łupliwości i twardości był pożądanym materiałem do produkcji narzędzi (siekier, noży, grotów) oraz pełnił funkcję „waluty" w dalekosiężnym handlu wymiennym.
== Techniki górnicze i warsztat przetwórczy ==
Prahistoryczni górnicy stosowali zaawansowane jak na swoją epokę techniki wydobywcze. Drążenie szybów odbywało się za pomocą rogowych kilofów (wykonanych z rogów jeleni i turów) oraz kamiennych narzędzi. W podziemiach stosowano system filarowo-komorowy, który zapobiegał zawaleniu się stropów. Na powierzchni, bezpośrednio przy szybach, funkcjonowały warsztaty obróbcze, w których surowe bryły krzemienia formowano w półprodukty (rdzenie i odłupki), a następnie w gotowe narzędzia. Produkty z Krzemionek odnajdywane są na stanowiskach archeologicznych oddalonych o setki kilometrów, co świadczy o rozległych sieciach wymiany handlowej.
== Status prawny i dostępność ==
Stanowisko archeologiczne jest zarządzane przez Muzeum Historyczno-Archeologiczne w Ostrowcu Świętokrzyskim i podlega ochronie jako Pomnik Historii nadany przez Prezydenta RP. Dla zwiedzających udostępniona jest podziemna trasa turystyczna, prowadząca przez odrestaurowane chodniki i komory wydobywcze, oraz nowoczesna ekspozycja muzealna prezentująca narzędzia, techniki wydobycia i życie codzienne społeczności neolitycznych. UNESCO uzasadniło wpis, wskazując na unikatowe świadectwo organizacji pracy, umiejętności technicznych oraz systemu handlowego społeczeństw prahistorycznych na terenie Europy Środkowej.
hup1e5g0xixoejlj9o1ubh33bpngbwc
Wikijunior:Polska/Palmy wielkanocne (Lipnica Murowana)
104
63405
538970
2026-04-05T11:48:19Z
Igor123121
34732
nowe hasło
538970
wikitext
text/x-wiki
[[Plik:Lipnica Murowana, Niedziela Palmowa 2025, Konkurs Palm Wielkanocnych, KsP 245.jpg|mały|Lipnica Murowana, Niedziela Palmowa 2025, Konkurs Palm Wielkanocnych]]
Tradycja tworzenia wielkoformatowych palm wielkanocnych jest szczególnie kultywowana w Lipnicy Murowanej, niewielkiej miejscowości w województwie małopolskim (powiat bocheński). Zwyczaj ten, sięgający korzeniami co najmniej XIX wieku, stał się symbolem polskiej obrzędowości wielkanocnej i jest jednym z najważniejszych przejawów żywej kultury ludowej w regionie Małopolski.
== Konkurs na najwyższą palmę ==
Od 1958 roku w Lipnicy Murowanej odbywa się coroczny Konkurs na Najpiękniejszą Palmę Wielkanocną, organizowany w Niedzielę Palmową. Wydarzenie to zainicjowało rywalizację między rodzinami i grupami sąsiedzkimi, skutkującą systematycznym zwiększaniem rozmiarów palm. Współcześnie najwyższe z nich osiągają ponad 30 metrów wysokości i wymagają transportu na przyczepach ciężarowych. Konstrukcja takiej palmy opiera się na drewnianym rdzeniu (żerdzi), wokół którego nawijane są wiązki suszonych kwiatów, ziół, traw oraz gałązek bazi i bukszpanu. Proces przygotowania największych palm trwa kilka tygodni i angażuje dziesiątki osób z danej społeczności.
== Materiały i technika wykonania ==
Tradycyjna palma lipnicka jest wykonana wyłącznie z materiałów naturalnych. Podstawę stanowią suszone kwiaty polne i ogrodowe (nieśmiertelniki, suchokwity, wrzosy), a także trawy ozdobne, zboża i mchy. Kwiaty te są suszone już od lata poprzedzającego Wielkanoc. Poszczególne pęczki kwiatów są mocowane do żerdzi warstwami, tworząc barwną, cylindryczną kolumnę. W wersji mniejszej (tzw. palmy noszone) palmy mają od 2 do 5 metrów i są przenoszone ręcznie podczas procesji.
== Ochrona prawna i status kulturowy ==
Tradycja tworzenia palm wielkanocnych w Lipnicy Murowanej została wpisana na Krajową listę niematerialnego dziedzictwa kulturowego, prowadzoną przez Ministra Kultury i Dziedzictwa Narodowego na podstawie konwencji UNESCO z 2003 roku. Wpis ten zobowiązuje do dokumentowania, popularyzowania oraz wspierania przekazu umiejętności tworzenia palm kolejnym pokoleniom. Konkurs palmowy jest corocznie odwiedzany przez tysiące turystów i stanowi ważny element promocji turystycznej regionu. Poświęcone palmy, zgodnie z wierzeniami ludowymi, są przechowywane w domach jako ochrona przed nieszczęściami, a ich fragmenty wkłada się za obrazy świętych lub wbija w ziemię na polach uprawnych.
0ue817h5fhcx2w2inymkdtyd9w8dpel
Wikijunior:Polska/Rzeźba ludowa
104
63406
538971
2026-04-05T11:49:03Z
Igor123121
34732
utworzenie
538971
wikitext
text/x-wiki
[[Plik:Chrystus Frasobliwy, Anielów, 1650, MEK.jpg|mały|Chrystus Frasobliwy, Anielów, 1650, Muzeum Etnograficzne w Krakowie]]
[[Plik:Kapliczka słupowa, Tokarnia.jpg|mały|Kapliczka słupowa, Muzeum Wsi Kieleckiej w Tokarni]]
Rzeźba ludowa stanowi jedną z najważniejszych dziedzin tradycyjnej twórczości artystycznej w Polsce. Rozwijana była głównie na terenach wiejskich od XVII do XX wieku, a jej twórcami byli najczęściej samorodni artyści, łączący umiejętności rzemieślnicze z głęboką religijnością. Dominującą tematyką była ikonografia chrześcijańska, choć występowały również motywy świeckie i dekoracyjne.
== Materiały, narzędzia i technika ==
Podstawowym materiałem rzeźby ludowej jest drewno, najczęściej lipowe (miękkie i łatwe w obróbce), a także sosnowe, olchowe i brzozowe. Rzeźbiarze posługiwali się prostymi narzędziami: nożami, dłutami i cyrklem. Figury wykonywano zazwyczaj z jednego kawałka drewna (technika monoksyliczna), a następnie pokrywano polichromią (farbami temperowymi lub olejnymi). Charakterystyczną cechą polskiej rzeźby ludowej jest uproszczona, zgeometryzowana forma postaci, połączona z wyrazistą ekspresją twarzy i gestów. Proporcje ciała są często umowne, a uwaga twórcy koncentruje się na oddaniu postawy modlitewnej lub cierpienia.
== Najpopularniejsze wizerunki i kapliczki przydrożne ==
Najczęstszym motywem rzeźby ludowej jest postać Chrystusa Frasobliwego (Pana Jezusa Frasobliwego) – siedzącego, z głową opartą na dłoni, w geście zadumy i cierpienia. Inne popularne przedstawienia to: Matka Boska z Dzieciątkiem, święci patroni (m.in. św. Jan Nepomucen, św. Florian) oraz sceny Drogi Krzyżowej. Figury te umieszczano w kapliczkach przydrożnych – małych budowlach drewnianych lub murowanych, stawianych na rozstajach dróg, skrzyżowaniach i granicach pól. Kapliczki pełniły funkcję sakralną (miejsca modlitwy), ochronną (wierzono, że chronią przed nieszczęściem) oraz orientacyjną (pełniły rolę drogowskazów). Szczególnie bogata tradycja kapliczek i figur przydrożnych zachowała się na Podhalu, Kurpiach oraz w regionie świętokrzyskim.
== Ochrona i współczesna kontynuacja tradycji ==
Zbiory rzeźby ludowej gromadzone są przez muzea etnograficzne w Warszawie, Krakowie, Toruniu i innych miastach oraz w licznych skansenach (parkach etnograficznych). Współcześnie tradycja rzeźby ludowej jest kontynuowana przez twórców zrzeszonych m.in. w Stowarzyszeniu Twórców Ludowych oraz Cepelii (Centrali Przemysłu Ludowego i Artystycznego). Najwybitniejszym twórcom przyznawany jest tytuł Mistrza Rzemiosła Artystycznego. Wybrane formy rzeźbiarstwa ludowego zostały wpisane na Krajową listę niematerialnego dziedzictwa kulturowego, co zapewnia im ochronę w ramach polskiej polityki kulturalnej i konwencji UNESCO z 2003 roku.
2ilym1yka98zhaxtfm9tygtqrnvd59v
Wikijunior:Polska/Ceramika bolesławiecka
104
63407
538972
2026-04-05T11:49:48Z
Igor123121
34732
utworzenie
538972
wikitext
text/x-wiki
[[Plik:2023 Ceramika bolesławiecka (3).jpg|mały|Filiżanka ze spodkiem z ceramiki bolesławieckiej]]
[[Plik:2023 Ceramika bolesławiecka (2).jpg|mały|Dzbanek z ceramiki bolesławieckiej]]
Ceramika bolesławiecka to tradycyjne wyroby garncarskie produkowane w Bolesławcu i okolicach (województwo dolnośląskie), których historia sięga co najmniej XIV wieku. Bolesławiec jest uznawany za jedno z najstarszych i najważniejszych centrów ceramicznych w Europie Środkowej. Współcześnie ceramika bolesławiecka jest jednym z najbardziej rozpoznawalnych polskich produktów rzemieślniczych na świecie.
== Surowce i technika produkcji ==
Rozwój garncarstwa w Bolesławcu był uwarunkowany dostępnością wysokiej jakości gliny białej (kaolinowej), występującej w złożach na terenie miasta i gminy. Tradycyjna ceramika bolesławiecka jest wytwarzana z kamionki – materiału ceramicznego wypalanego w temperaturze ok. 1200–1280 °C, co nadaje mu właściwości takie jak twardość, odporność na zarysowania, wytrzymałość termiczną oraz nieprzepuszczalność dla płynów. Wyroby są formowane na kole garncarskim, a następnie suszone, dekorowane i dwukrotnie wypalane w piecu. Charakterystycznym elementem procesu produkcyjnego jest technika zdobienia za pomocą stempelków (pieczątek) wykonanych z gąbki, które pozwalają na nanoszenie powtarzalnych wzorów (kropek, gwiazdek, listków) na powierzchnię naczynia.
== Wzornictwo i rozpoznawalność ==
Najbardziej rozpoznawalnym wzorem ceramiki bolesławieckiej jest motyw „pawie oczko" – koncentryczny wzór z kropek w kolorze kobaltowym (granatowym) na białym tle, otoczony liśćmi i kwiatami. Obok tego klasycznego wzoru stosowane są dziesiątki innych motywów, w tym motywy roślinne, geometryczne oraz współczesne projekty autorskie. Asortyment obejmuje naczynia codziennego użytku: talerze, kubki, misy, dzbanki, formy do pieczenia oraz elementy dekoracyjne. Ceramika bolesławiecka nadaje się do kontaktu z żywnością, można ją stosować w zmywarkach, kuchenkach mikrofalowych oraz piekarnikach.
== Współczesna produkcja i promocja ==
W Bolesławcu i okolicach funkcjonuje kilkanaście manufaktur ceramicznych, z których największe to m.in. Zakłady Ceramiczne „Bolesławiec" oraz liczne mniejsze pracownie rzemieślnicze. Corocznym wydarzeniem promującym lokalny przemysł jest Bolesławieckie Święto Ceramiki, gromadzące producentów i nabywców z całego świata. Historia i techniki garncarstwa są prezentowane w Muzeum Ceramiki w Bolesławcu. Tradycja ceramiczna Bolesławca została wpisana na Krajową listę niematerialnego dziedzictwa kulturowego, co zapewnia jej ochronę i wsparcie instytucjonalne w ramach polskiej polityki kulturalnej.
95pzlx3fhbh5s3oc9eabn80vggda8rl
Wikijunior:Polska/Koronki koniakowskie
104
63408
538973
2026-04-05T11:50:30Z
Igor123121
34732
utworzenie
538973
wikitext
text/x-wiki
[[Plik:Poland Koniakow - laces.jpg|mały]]
Koronki koniakowskie to ręcznie wytwarzane wyroby koronkarskie, powstające w Koniakowie i okolicznych wsiach na Podhalu (gmina Istebna, województwo śląskie). Tradycja ta, rozwijana od co najmniej połowy XIX wieku, jest jednym z najbardziej rozpoznawalnych przejawów polskiego rzemiosła artystycznego i stanowi element tożsamości kulturowej społeczności Górali Żywieckich (Beskidu Śląskiego).
== Technika wykonania i narzędzia ==
Koronki koniakowskie są wykonywane ręcznie, techniką szydełkowania (koronka szydełkowa), z użyciem cienkiej bawełnianej nici i stalowego szydełka. Koronczarki pracują bez gotowych wzorów – skomplikowane motywy powstają z pamięci, na podstawie umiejętności przekazywanych z pokolenia na pokolenie w ramach tradycji rodzinnej. Podstawową jednostką wzoru jest tzw. „oczko", z którego budowane są rozbudowane motywy roślinne (kwiaty, liście, rozety) oraz geometryczne. Wykonanie pojedynczego dużego obrusa może zająć od kilku tygodni do kilku miesięcy pracy. Do najbardziej znanych form należą: serwety okrągłe, obrusy, bieżniki, kołnierzyki oraz ozdoby na elementy stroju góralskiego.
== Znaczenie kulturowe i rozpoznawalność ==
Koronki z Koniakowa zyskały międzynarodową rozpoznawalność w drugiej połowie XX wieku, m.in. za sprawą wystaw organizowanych przez Cepelię (Centralę Przemysłu Ludowego i Artystycznego). Wyroby te trafiały jako oficjalne dary polskiego rządu do głów państw, m.in. do królowej brytyjskiej Elżbiety II. Koronkarstwo koniakowskie wyróżnia się niepowtarzalnością każdego egzemplarza, precyzją wykonania oraz bogactwem wzorów, co czyni je unikalnymi na tle innych tradycji koronkarskich w Europie.
== Ochrona prawna i kontynuacja tradycji ==
Tradycja koronczarstwa koniakowskiego została wpisana na Krajową listę niematerialnego dziedzictwa kulturowego, prowadzoną przez Ministra Kultury i Dziedzictwa Narodowego w ramach realizacji konwencji UNESCO z 2003 roku. Umiejętności koronkarskie są przekazywane przez starsze pokolenie koronczarek (tzw. babeczki) podczas warsztatów organizowanych przez lokalne stowarzyszenia oraz szkoły. W Koniakowie działa Ośrodek Tradycji Koronki Koniakowskiej, dokumentujący historię rzemiosła i prezentujący najcenniejsze eksponaty. Współcześnie koronki koniakowskie stanowią również inspirację dla polskich projektantów mody, będąc wykorzystywane w kolekcjach haute couture jako element tzw. etnodesignu.
2jeviaj8wbtifrysdr52wp4e6qqikxh
Wikijunior:Polska/Pisanki
104
63409
538974
2026-04-05T11:51:16Z
Igor123121
34732
utworzenie
538974
wikitext
text/x-wiki
[[Plik:Jatsowne jajki.jpg|mały]]
[[Plik:Pisanki własnoręczne.jpg|mały]]
Pisanki to jaja ozdobione różnorodnymi technikami dekoracyjnymi, stanowiące jeden z najważniejszych symboli polskiej Wielkanocy. Tradycja ich tworzenia sięga czasów przedchrześcijańskich, kiedy jajko było symbolem odrodzenia przyrody i nadejścia wiosny. Po chrystianizacji ziem polskich pisanka została włączona w obrzędowość wielkanocną jako symbol zmartwychwstania i nowego życia.
== Techniki zdobienia i regionalne odmiany ==
W Polsce wykształciło się kilka głównych technik zdobienia jaj, zróżnicowanych regionalnie:
* Pisanka batikowa (woskowa) – najstarsza i najbardziej skomplikowana technika. Polega na nakładaniu na skorupę rozgrzanego wosku pszczelego za pomocą specjalnego narzędzia zwanego pisaczkiem (rylcem z mosiężnym lejkiem). Woskowane fragmenty nie przyjmują barwnika, co pozwala na uzyskanie wielokolorowych wzorów po kolejnych kąpielach w coraz ciemniejszych roztworach. Technika ta jest szczególnie rozwinięta na Podlasiu, Lubelszczyźnie i Huculszczyźnie.
* Kraszanka – jajko jednobarwne, farbowane przez gotowanie w naturalnych barwnikach (łuska cebuli, sok z buraków, odwar z kory dębu).
* Drapanka (rylcowa, skrobanka) – jajko pomalowane jednym kolorem, na którym ostrym narzędziem wydrapuje się wzory, odsłaniając białą skorupę.
* Oklejanka – technika polegająca na oklejaniu skorupy kawałkami kolorowej bibuły, tkaniny, słomy lub nasion.
* Nalepiana (aplikowana) – na jajko nakleja się elementy z wosku, tworząc trójwymiarowe wzory.
Symbolika i funkcja obrzędowa
Motywy zdobiące pisanki mają określone znaczenie symboliczne. Najczęściej występują: krzyż (symbol wiary), gwiazda (symbol światła), drzewo życia (symbol odrodzenia), kłosy zbóż (symbol urodzaju) oraz motywy zwierzęce (kogut, jeleń). W tradycji ludowej pisanki były wręczane bliskim z życzeniami zdrowia i pomyślności. Służyły również jako element zalotów – dziewczęta obdarowywały pisankami wybrańców, a odrzucenie prezentu oznaczało odmowę.
== Ochrona i popularyzacja tradycji ==
Sztuka tworzenia pisanek jest dokumentowana i chroniona jako element niematerialnego dziedzictwa kulturowego Polski. Zbiory pisanek gromadzą muzea etnograficzne (m.in. w Krakowie i Toruniu). Coroczne konkursy pisankowe organizowane są m.in. w Lipnicy Murowanej (w ramach obchodów Niedzieli Palmowej) oraz w wielu ośrodkach kultury. Tradycja pisankarska stanowi przedmiot badań etnograficznych i jest popularyzowana w ramach warsztatów edukacyjnych prowadzonych przez Stowarzyszenie Twórców Ludowych oraz instytucje kulturalne.
tuvzzyqebd6sikfgbmmwl5uw24z6yhm
Wikijunior:Polska/Wycinanki łowickie
104
63410
538975
2026-04-05T11:51:54Z
Igor123121
34732
utworzenie
538975
wikitext
text/x-wiki
[[Plik:Wycinanki ludu polskiego - lowickie i kurpiowskie 1924 (74356099).jpg|mały]]
[[Plik:Wycinanki ludu polskiego - lowickie i kurpiowskie 1924 (74356164).jpg|mały]]
Wycinanki łowickie to tradycyjna forma plastyki ludowej, wywodząca się z regionu Łowicza w centralnej Polsce (województwo łódzkie). Są one jednym z najbardziej rozpoznawalnych symboli polskiej sztuki ludowej na świecie. Tradycja ta ukształtowała się w pierwszej połowie XIX wieku i przetrwała do dnia dzisiejszego jako żywy element kultury regionu łowickiego.
== Technika wykonania i narzędzia ==
Wycinanki łowickie wykonuje się z kolorowego papieru przy użyciu nożyc do strzyżenia owiec. Jest to cecha odróżniająca je od wielu innych tradycji wycinankowych na świecie, gdzie stosuje się nożyczki precyzyjne lub nożyki. Proces tworzenia polega na wielokrotnym składaniu arkusza papieru i wycinaniu symetrycznych wzorów. Wyróżnia się dwa podstawowe typy wycinanek łowickich:
* Wycinanka jednoczęściowa (kodra) – wykonana z jednego złożonego arkusza papieru, po rozłożeniu tworząca symetryczny, wielobarwny wzór. Tradycyjnie jest dwuosiowa lub wieloosiowa.
* Wycinanka naklejana (wielowarstwowa) – składająca się z kilku warstw kolorowego papieru, nakładanych jedna na drugą. Poszczególne elementy (kwiaty, liście, ptaki) wycinane są oddzielnie, a następnie komponowane w całość i naklejane na tło.
== Motywy i kolorystyka ==
Dominującymi motywami wycinanek łowickich są kwiaty, koguty, pawie, gwiazdy oraz sceny figuralne (np. para w stroju ludowym, sceny z życia wsi). Kolorystyka cechuje się intensywnością i kontrastem: dominują barwy czerwona, zielona, pomarańczowa, fioletowa i żółta na tle białym lub czarnym. Pierwotną funkcją wycinanek było ozdabianie wnętrz wiejskich domów – naklajano je na powałę (belki stropowe), ściany oraz okiennice, szczególnie przed świętami Bożego Narodzenia i Wielkanocy.
== Ochrona i współczesna obecność ==
Tradycja wycinankowa z regionu łowickiego została wpisana na Krajową listę niematerialnego dziedzictwa kulturowego. Umiejętności wycinankowe są przekazywane w ramach warsztatów organizowanych przez lokalne domy kultury, szkoły oraz Stowarzyszenie Twórców Ludowych. Zbiory wycinanek łowickich prezentują m.in. Muzeum w Łowiczu oraz muzea etnograficzne w Warszawie i Krakowie. Współcześnie motywy wycinanek łowickich są szeroko wykorzystywane we wzornictwie przemysłowym, projektowaniu graficznym i modzie jako element polskiego etnodesignu, pojawiając się na odzieży, porcelanie, opakowaniach oraz materiałach promocyjnych regionu i kraju.
45fwajuprtkff0ojpicd0u15s6985rw