Moduł:Sekcja referencyjna

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Template-info.png Dokumentacja modułu [stwórz] [odśwież]
local p={};
function Ustep(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_malej_lub_od_duzej(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 Wersja_do_druku(naglowek,nazwa,czy_ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania)
   local parametry_modul=require("Module:Parametry");
   nazwa=parametry_modul.CzyTak(nazwa) and nazwa or Ustep(naglowek,czy_ustep);
   local nazwy_modul=require("Module:Nazwy");
   local strona=(not parametry_modul.CzyTak(naglowek)) and nazwy_modul["NAZWASTRONY"](pelnanazwajednostki) or nil;
   naglowek=(not naglowek or naglowek~="#") and naglowek or nil;
   naglowek=naglowek and mw.ustring.gsub(naglowek,"^[^#]*#","") or nil;
   nazwa=Nazwa_od_malej_lub_od_duzej(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 Ksiazka(strona,nazwa,podstrona,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 Ustep(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 Ustep(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_malej_lub_od_duzej(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 p=parametry_modul.CzyTak(frame["wyspecjalizowana"])and frame or frame:getParent();
	local strona=parametry_modul["Odstępy"](p.args["strona"] or p.args[1]);
	local nazwa=parametry_modul["Odstępy"](p.args["nazwa"] or p.args[2]);
	local podstrona=parametry_modul["Odstępy"](p.args["podstrona"] or p.args[3]);
	local ustep=parametry_modul["CzyTakCiąg"](p.args["ustęp"] or p.args[4]);
	local od_malej=parametry_modul.CzyTak(p.args["od małej"]);
	local od_duzej=parametry_modul.CzyTak(p.args["od dużej"]);
	local bez_znacznikow=p.args["bez znaczników"];
	local bez_przetwarzania=p.args["bez przetwarzania"];
	local pudelko_modul=require("Module:Pudełko");
	local pelnanazwajednostki=pudelko_modul["Pełna nazwa jednostki"](frame);
	local nazwy_modul=require("Module:Nazwy");
	local nazwa_sub_strony=nazwy_modul["NAZWASUBSTRONY"](pelnanazwajednostki);
	local czy_pudelko=((p.args["nazwa jednostki"] or p.args["nazwa przestrzeni nazw"])and true or false);
	if(parametry_modul.CzyTak(require("Module:StronicowyParser").CzyStronaSubst(frame,pelnanazwajednostki,czy_pudelko)))then
		return Wersja_do_druku(strona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania);
	else
		return Ksiazka(strona,nazwa,podstrona,ustep,od_malej,od_duzej,pelnanazwajednostki,bez_znacznikow,bez_przetwarzania);
	end;
end;
return p;