Moduł:Sekcja referencyjna
Zobacz podstrony tego modułu.
|
local p={};
function 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;
local function 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;
local function Strona_zbiorcza(strona,podstrona,nazwa,czy_ustep,czy_pod_ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania)
local parametry_modul=require("Module:Parametry");
local naglowek=(parametry_modul.CzyTak(podstrona) and (podstrona.."/") or "")..(parametry_modul.CzyTak(strona) and strona or "");
nazwa=parametry_modul.CzyTak(nazwa) and nazwa or Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
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=Nazwa_od_niewielkiej_lub_wielkiej_litery(nazwa,od_malej,od_duzej);
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;
local function Wolumin(strona,podstrona,nazwa,czy_ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania)
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 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 Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep);
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=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](pelnanazwajednostki)..((parametry_modul.CzyTak(podstrona)) and ("/"..podstrona) or "")..strona;
end;
end;
nazwa=Nazwa_od_niewielkiej_lub_wielkiej_litery(nazwa,od_malej,od_duzej);
local linki_modul=require("Module:Linki");
return linki_modul["Link wewnętrzny"]{["strona"]=strona,["nazwa"]=nazwa,["bez znaczników"]=bez_znacznikow,["bez przetwarzania"]=bez_przetwarzania,};
end;
p["Sekcja referencyjna"]=function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local strona=parametry_modul["Odstępy"]{[1]=args["strona"] or args[1],[2]="tak",};
local nazwa=parametry_modul["Odstępy"](args["nazwa"] or args[2]);
local podstrona=parametry_modul["Odstępy"]{[1]=args["podstrona"] or args[3],[2]="tak",};
local ustep=parametry_modul["CzyTakCiąg"](args["ustęp"] or args[4]);
local od_malej=parametry_modul.CzyTak(args["od małej"]);
local od_duzej=parametry_modul.CzyTak(args["od dużej"]);
local pod_ustep=parametry_modul.CzyTak(args["pod-ustęp"]);
local astandardowo=parametry_modul.CzyTak(args["astandardowo"]);
local naglowkowo=parametry_modul.CzyTak(args["nagłówkowo"]);
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
local bez_znacznikow=args["bez znaczników"];
local bez_przetwarzania=args["bez przetwarzania"];
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);
if((not astandardowo)and(naglowkowo or parametry_modul.CzyTak(require("Module:StronicowyParser").CzyStronaSubst(frame,pelnanazwajednostki,czy_pudelko))))then
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or ((not czy_analiza) and "tak" or nil);
return Strona_zbiorcza(strona,podstrona,nazwa,ustep,pod_ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania);
else
local bez_przetwarzania=parametry_modul.CzyTak(args["bez przetwarzania"]) or ((not czy_analiza) and "tak" or nil);
return Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania);
end;
end;
return p;