Moduł:Specjalne
Wygląd
Zobacz podstrony tego modułu.
|
local p={};
p["UsuńŚciśleOkreśloneKategorie"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local tekst=PobierzParametr("tekst") or PobierzParametr(1);
local kategoria=PobierzParametr("kategoria") or PobierzParametr(2) or "([^%[%]|]*)";
tekst,_=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*"..kategoria.."%s*%]%]","");
tekst,_=mw.ustring.gsub(tekst,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*"..kategoria.."%s*%]%]","");
tekst,_=mw.ustring.gsub(tekst,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*"..kategoria.."%s*|[^%[%]]*%]%]","");
tekst,_=mw.ustring.gsub(tekst,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*"..kategoria.."|[^%[%]]*%s*%]%]","");
return tekst;
end;
p["UsuńKategorie"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
local category=require("Module:Nazwy").Np{nazwa="Category"};
local wzorcategory=require("Module:Techniczne")["WzórDanejPrzestrzeniNazw"](category);
argument_pierwszy,_=mw.ustring.gsub(argument_pierwszy,"%[%[%s*"..wzorcategory.."%s*:[^%[%]]*%]%]","");
argument_pierwszy,_=mw.ustring.gsub(argument_pierwszy,"%[%[%s*[CC][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%[%]]*%]%]","");
return argument_pierwszy;
end;
p["UsuńZnaczniki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_ze_znacznikiem=PobierzParametr("tekst") or PobierzParametr(1);
argument_ze_znacznikiem=mw.ustring.gsub(argument_ze_znacznikiem,"(</?%s*[^<>]+>)","");
return argument_ze_znacznikiem;
end;
p["UsuńKomentarze"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_ze_znacznikiem=PobierzParametr("tekst") or PobierzParametr(1);
argument_ze_znacznikiem=mw.ustring.gsub(argument_ze_znacznikiem,"<!%-%-.-%-%->","");
return argument_ze_znacznikiem;
end;
p["UsuńSzablonyStylów"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_ze_znacznikiem=PobierzParametr("tekst") or PobierzParametr(1);
local html_dane_modul=mw.loadData("Module:Html/dane");
local znak_127=html_dane_modul.znak_127;
argument_ze_znacznikiem=mw.ustring.gsub(argument_ze_znacznikiem,znak_127.."'\"`UNIQ%-%-templatestyles%-%w+%-QINU`\"'"..znak_127,"");
return argument_ze_znacznikiem;
end;
p["UsuńWywołaniaPlików"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
local wartosc=mw.ustring.gsub(argument_pierwszy,"%[%[%s*[Pp][Ll][Ii][Kk]%s*:[^%[%]]*%]%]","");
wartosc=mw.ustring.gsub(wartosc,"%[%[%s*[Ff][Ii][Ll][Ee]%s*:[^%[%]]*%]%]","");
wartosc=mw.ustring.gsub(wartosc,"%[%[%s*[Ii][Mm][Aa][Gg][Ee]%s*:[^%[%]]*%]%]","");
wartosc=mw.ustring.gsub(wartosc,"%[%[%s*[Gg][Rr][Aa][Ff][Ii][Kk][Aa]%s*:[^%[%]]*%]%]","");
return wartosc;
end;
p["UsuńInterwiki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
local pudelko_modul=require("Module:Pudełko");
----
local function usun_interwiki(interwiki)
local wartosc=mw.ustring.match(interwiki,"%[%[[%s_]*([^:]*[^:%s_])[%s_]*:[^%[%]]*%]%]");
if(wartosc)then
wartosc=mw.getContentLanguage():lc(wartosc);
local czy_kod_jezyka_istnieje=mw.language.isKnownLanguageTag(wartosc);
if(czy_kod_jezyka_istnieje)then
if(wartosc==pudelko_modul["Kod języka tego projektu"](frame))then
return interwiki;
else
return "";
end;
end;
end;
return interwiki;
end;
---
return mw.ustring.gsub(argument_pierwszy,"(%[%[[^%[%]]*%]%])",function(s)return usun_interwiki(s);end);
end;
p["CzyInterwiki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
local pudelko_modul=require("Module:Pudełko");
----
local function czy_interwiki(interwiki)
local wartosc=mw.ustring.match(interwiki,"^%[%[[%s_]*([^:]*[^:%s_])[%s_]*:[^%[%]]*%]%]$");
if(wartosc)then
wartosc=mw.getContentLanguage():lc(wartosc);
local czy_kod_jezyka_istnieje=mw.language.isKnownLanguageTag(wartosc);
if(czy_kod_jezyka_istnieje)then
if(wartosc==pudelko_modul["Kod języka tego projektu"](frame))then
return false;
else
return true;
end;
end;
end;
return false;
end;
----
return czy_interwiki(argument_pierwszy);
end;
p["CzyAdresLinkuWewnętrznego"]=function(frame)
local dwukropek=frame.args[1];
if(dwukropek~="")then
return "tak";
else
local adres=frame.args[2];
local kod=mw.ustring.match(adres,"^[:%s_]*([^:%s]+[^:]*):");
if(kod)then
kod=mw.getContentLanguage():lc(kod);
if(mw.language.isKnownLanguageTag(kod))then
local pudelko_modul=require("Module:Pudełko");
if(kod==pudelko_modul["Kod języka tego projektu"]())then return "tak";else return nil;end;
end;
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
if(wiki_interwiki_modul.interwikimap[kod])then return "tak";end;
local nazwy_modul=require("Module:Nazwy");
local przestrzen=nazwy_modul["NAZWAPRZESTRZENI"](adres);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((przestrzen==nazwy_np_modul.File)or(przestrzen==nazwy_np_modul.Category))then return nil;end;
end;
return "tak";
end;
return nil;
end;
p["CzyLinkWewnętrzny"]=function(szablon)
local dwukropek,adres=mw.ustring.match(szablon,"^%[%[%s*(:?)%s*([^|]*)");
return ((p["CzyAdresLinkuWewnętrznego"]{args={[1]=dwukropek,[2]=adres,}})and true or false);
end;
p["ZamieńLinkiWewnętrzneNaTekst"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwy_modul=require("Module:Nazwy");
local pudelko_modul=require("Module:Pudełko");
local html_modul=require("Module:Html");
local function LinkiZamienianieNaZawartoscLubNazwe(link,dwukropek,zawartosc,nazwa)
local prefix=mw.ustring.match(zawartosc,"^[%s_]*([^:]*[^:%s_])[%s_]*:");
if(prefix)then
local czy_kod_jezyka_istnieje=mw.language.isKnownLanguageTag(prefix);
if(czy_kod_jezyka_istnieje)then
if(#dwukropek>0)then
return nazwa or html_modul.DecodeHtml(zawartosc,true);
elseif(prefix==pudelko_modul["Kod języka tego projektu"](frame))then
return nazwa or html_modul.DecodeHtml(zawartosc,true);
else
return link;
end;
else
local nazwa_przestrzeni=nazwy_modul.Np{nazwa=prefix,istnieje="tak",["wynik błędu nietekstowy"]="tak"};
if(not nazwa_przestrzeni)then return nazwa or zawartosc;end;
if((nazwa_przestrzeni==nazwy_np_modul.Category)or(nazwa_przestrzeni==nazwy_np_modul.File))then
if(#dwukropek>0)then
return nazwa or html_modul.DecodeHtml(zawartosc,true);
else
return link;
end;
else
return nazwa or html_modul.DecodeHtml(zawartosc,true);
end;
end;
else
return nazwa or html_modul.DecodeHtml(zawartosc,true);
end;
end;
-----
local wartosc=mw.ustring.gsub(argument_pierwszy,"(%[%[(:?)/([^/{}|%[%]][^{}|%[%]]-)/+%]%])",LinkiZamienianieNaZawartoscLubNazwe);
wartosc=mw.ustring.gsub(wartosc,"(%[%[(:?)/([^/{}|%[%]][^{}|%[%]]-)/+|([^{}%[%]]+)%]%])",LinkiZamienianieNaZawartoscLubNazwe);
-----
wartosc=mw.ustring.gsub(wartosc,"(%[%[(:?)([^{}|%[%]]+)%]%])",LinkiZamienianieNaZawartoscLubNazwe);
wartosc=mw.ustring.gsub(wartosc,"(%[%[(:?)([^{}|%[%]]+)|([^{}%[%]]+)%]%])",LinkiZamienianieNaZawartoscLubNazwe);
----
return wartosc;
end;
p["ZamieńLinkiZewnętrzneNaTekst"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
function SprawdzanieCzyNieLinkPozaProjektowy(wartosc)
local link=mw.ustring.match(wartosc,"^%[([^%s%[%]]+)%s+[^%[%]]+%]$")or mw.ustring.match(argument_pierwszy,"^%[([^%s%[%]]+)%s*%]$");
if(link)then
local html_modul=require("Module:Html");
local czy_link=html_modul["SprawdźURL"](link);
if(czy_link)then
return true;
end;
end;
end;
local wartosc=mw.ustring.gsub(argument_pierwszy,"^(%[%s*[^%[%]%s]+%s+([^%[%]]*)%])",function(a,b)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(a);
if(wynik)then return b;end;
end);
wartosc=mw.ustring.gsub(wartosc,"(%[%s*[^%[%]%s]+%s+([^%[%]]*)%])$",function(a,b)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(a);
if(wynik)then return b;end;
end);
wartosc=mw.ustring.gsub(wartosc,"([^%[])(%[%s*[^%[%]%s]+%s+([^%[%]]*)%])",function(a,b,c)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(b);
if(wynik)then return a..c;end;
end);
wartosc=mw.ustring.gsub(wartosc,"(%[%s*[^%[%]%s]+%s+([^%[%]]*)%])([^%]])",function(a,b,c)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(a);
if(wynik)then return b..c;end;
end);
------
wartosc=mw.ustring.gsub(wartosc,"^(%[%s*([^%[%]%s]-)%s*%])",function(a,b)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(a);
if(wynik)then return b;end;
end);
wartosc=mw.ustring.gsub(wartosc,"(%[%s*([^%[%]%s]-)%s*%])$",function(a,b)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(a);
if(wynik)then return b;end;
end);
wartosc=mw.ustring.gsub(wartosc,"([^%[])(%[%s*([^%[%]%s]-)%s*%])",function(a,b,c)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(b);
if(wynik)then return a..c;end;
end);
wartosc=mw.ustring.gsub(wartosc,"(%[%s*([^%[%]%s]-)%s*%])([^%]])",function(a,b,c)
local wynik=SprawdzanieCzyNieLinkPozaProjektowy(a);
if(wynik)then return b..c;end;
end);
return wartosc;
end;
p["UsuńZnakiSpecjalne"] = function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
local wartosc=argument_pierwszy;
repeat
local ile;
wartosc,ile=mw.ustring.gsub(wartosc,"'''([^'].-)'''","%1");
until (ile==0);
repeat
local ile;
wartosc,ile=mw.ustring.gsub(wartosc,"''([^'].-)''","%1");
until (ile==0);
wartosc=mw.ustring.gsub(wartosc,"([%w%c%p]%s*)''+(%s*[%w%c%p])","%1'%2");
repeat
local ile1;local ile2;
wartosc,ile1=mw.ustring.gsub(wartosc,"^%s*'''","");
wartosc,ile2=mw.ustring.gsub(wartosc,"^%s*''","");
until ((ile1==0)and(ile2==0));
return wartosc;
end;
p["UsuńZbędneBiałeZnaki"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
argument_pierwszy=mw.ustring.gsub(argument_pierwszy,"^%s*","");
argument_pierwszy=mw.ustring.gsub(argument_pierwszy,"%s*$","");
argument_pierwszy=mw.ustring.gsub(argument_pierwszy,"%s+"," ");
return argument_pierwszy;
end;
p["WydzielLiczbę"] = function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local argument_pierwszy=PobierzParametr("tekst") or PobierzParametr(1);
---
local wartosc=p["UsuńKomentarze"](argument_pierwszy);
wartosc=p["ZamieńLinkiWewnętrzneNaTekst"](wartosc);
wartosc=p["ZamieńLinkiZewnętrzneNaTekst"](wartosc);
wartosc=p["UsuńSzablonyStylów"](wartosc);
wartosc=p["UsuńZnaczniki"](wartosc);
wartosc=p["UsuńKategorie"](wartosc);
wartosc=p["UsuńWywołaniaPlików"](wartosc);
wartosc=p["UsuńInterwiki"](wartosc);
wartosc=p["UsuńZnakiSpecjalne"](wartosc);
----
local ile;
wartosc,ile=mw.ustring.gsub(wartosc,"^([^%d]-)([%+%-]?%d+[%d%s]-)%s*$","%2");
if(ile==0)then return nil;end;
wartosc=mw.ustring.gsub(wartosc,"(%d)%s+(%d)","%1%2");
return tonumber(wartosc);
end;
p["PrzetwórzNagłówek"]=function(adres,czy_naglowek_linku,czy_nie_rozwin_adres)
if(not czy_nie_rozwin_adres)then
local frame=mw.getCurrentFrame();
adres=frame:preprocess(adres);
end;
adres=p["UsuńKomentarze"](adres);
adres=p["ZamieńLinkiWewnętrzneNaTekst"](adres);
adres=p["ZamieńLinkiZewnętrzneNaTekst"](adres);
adres=p["UsuńInterwiki"](adres);
adres=p["UsuńKategorie"](adres);
adres=p["UsuńWywołaniaPlików"](adres);
local bez_funkcji_naglowka_linku_adres=nil;
if(czy_naglowek_linku)then
bez_funkcji_naglowka_linku_adres=adres;
adres=p["UsuńSzablonyStylów"](adres);
adres=p["UsuńZnaczniki"](adres);
adres=mw.ustring.gsub(adres,"&#(%d+);",function(s) return mw.ustring.char(s);end);
adres=mw.ustring.gsub(adres,"[{}|<>=]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end);
local parametry_modul=require("Module:Parametry");
adres=parametry_modul["Odstępy"]{[1]=adres,[2]="tak",[3]="tak",};
end;
return adres,bez_funkcji_naglowka_linku_adres;
end;
return p;