Moduł:Sekcja referencyjna
Wygląd
|
Zobacz podstrony tego modułu.
|
local p={};
function p.Indentyfikator_lub_podstrona_wikiadresu_strony(ustep,czy_ustep)
if(not ustep)then return ustep;end;
if(not czy_ustep)then return ustep;end;
local czy=mw.ustring.match(ustep,"^[^#]*#(.*)$");
if(czy)then
return czy;
else
local czy=mw.ustring.match(ustep,"/([^/]*)$");
if(czy)then
return czy;
end;
end;
return ustep;
end;
function p.Nazwa_od_niewielkiej_lub_wielkiej_litery(nazwa,od_malej,od_duzej)
if((od_malej)and(not od_duzej))then
nazwa=mw.getContentLanguage():lcfirst(nazwa);
elseif((not od_malej)and(od_duzej))then
nazwa=mw.getContentLanguage():ucfirst(nazwa);
end;
return nazwa;
end;
function p.Strona_zbiorcza(strona,podstrona,nazwa,czy_ustep,czy_pod_ustep,od_malej,od_duzej,pelnanazwajednostki)
local parametry_modul=require("Module:Parametry");
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or p.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
local naglowek=(parametry_modul.CzyTak(podstrona) and (podstrona.."/") or "")..(parametry_modul.CzyTak(strona) and strona or "");
local nazwy_modul=require("Module:Nazwy");
local czy_naglowek=parametry_modul.CzyTak(naglowek);
local strona=(not czy_naglowek) and nazwy_modul["PEŁNANAZWASTRONY"](pelnanazwajednostki) or nil;
naglowek=(czy_naglowek and naglowek~="#") and naglowek or nil;
naglowek=naglowek and mw.ustring.gsub(naglowek,"^[^#]*#","") or nil;
naglowek=czy_pod_ustep and (czy_naglowek and mw.ustring.match(naglowek,"([^/]*)$") or nil) or naglowek;
nazwa=p.Nazwa_od_niewielkiej_lub_wielkiej_litery(nazwa,od_malej,od_duzej);
return strona,naglowek,nazwa;
end;
function p.Wolumin(strona,podstrona,nazwa,czy_ustep,od_malej,od_duzej,pelnanazwajednostki)
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
if(not parametry_modul.CzyTak(strona))then
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](pelnanazwajednostki);
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or p.Indentyfikator_lub_podstrona_wikiadresu_strony(nazwy_modul["NAZWASTRONY"](strona),not czy_ustep);
else
local czy_hash=mw.ustring.match(strona,"^#");
if(not czy_hash)then
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or p.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](pelnanazwajednostki).."/"..((parametry_modul.CzyTak(podstrona)) and (podstrona.."/") or "")..strona;
else
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.match(strona,"^#(.*)$");
strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",};
strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](pelnanazwajednostki)..((parametry_modul.CzyTak(podstrona)) and ("/"..podstrona) or "")..strona;
end;
end;
nazwa=p.Nazwa_od_niewielkiej_lub_wielkiej_litery(nazwa,od_malej,od_duzej);
return strona,nazwa;
end;
p["Sekcja referencyjna"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local strona=args["strona"] or args["s"] or args[1];
local nazwa=parametry_modul["Odstępy"](args["nazwa"] or args["n"] or args[2]);
local podstrona=parametry_modul["Odstępy"]{[1]=args["podstrona"] or args["p"] or args[3],[2]="tak",};
local ustep=parametry_modul.CzyTak(args["ustęp"]) or parametry_modul.CzyTak(args["u"]) or parametry_modul["CzyTakCiąg"](args[4]);
local od_malej=parametry_modul.CzyTak(args["od małej"]) or parametry_modul.CzyTak(args["m"]);
local od_duzej=parametry_modul.CzyTak(args["od dużej"]) or parametry_modul.CzyTak(args["d"]);
local pod_ustep=parametry_modul.CzyTak(args["pod-ustęp"]) or parametry_modul.CzyTak(args["t"]);
local astandardowo=parametry_modul.CzyTak(args["astandardowo"]) or parametry_modul.CzyTak(args["o"]);
local naglowkowo=parametry_modul.CzyTak(args["nagłówkowo"]) or parametry_modul.CzyTak(args["c"]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]) or parametry_modul.CzyTak(args["a"]);
local bez_znacznikow=args["bez znaczników"] or args["bz"];
local bez_przetwarzania=args["bez przetwarzania"] or args["bp"];
local pudelko_modul=require("Module:Pudełko");
local czy_pudelko=((parametry_modul.CzyTak(args["nazwa jednostki"]) or args["nazwa przestrzeni nazw"])and true or false);
local pelnanazwajednostki=((czy_pudelko)and pudelko_modul["Pełna nazwa jednostki"](frame) or nil);
local __strona,__naglowek,__nazwa;
if((not astandardowo)and(naglowkowo or parametry_modul.CzyTak(require("Module:StronicowyParser").CzyStronaSubst(frame,czy_pudelko))))then
local bez_przetwarzania=parametry_modul.CzyTak(bez_przetwarzania) or ((not czy_analiza) and "tak" or nil);
__strona,__naglowek,__nazwa=p.Strona_zbiorcza(strona,podstrona,nazwa,ustep,pod_ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania);
else
local bez_przetwarzania=parametry_modul.CzyTak(bez_przetwarzania) or ((not czy_analiza) and "tak" or nil);
__strona,__nazwa=p.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania);
end;
local linki_modul=require("Module:Linki");
return linki_modul["Link wewnętrzny"]{["strona"]=__strona,["nagłówek"]=__naglowek,["nazwa"]=__nazwa,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,};
end;
return p;