Przejdź do zawartości

Moduł:Skrót

Z Wikibooks, biblioteki wolnych podręczników.
 Dokumentacja modułu [stwórz] [odśwież]
local p={};
local WykazSzablon=function(frame,szablon,czy_inne_kategorie)
	local pf=frame:getParent();
	local args={
		["parametry podstawowe funkcji modułu pudełek"]="tak",
		["bez dodatkowych sprawdzeń"]="tak",
	};
	local czy_skrot_kategoria=((czy_inne_kategorie)and(szablon=="Kategoria"));
	if(czy_skrot_kategoria)then
		szablon="Kategorie";
	end;
	args["Nazwa"]=szablon;
	
	local args_dziecko=frame.args;
	for name, value in pairs(args_dziecko)do
		if(not args[name])then
			if(czy_skrot_kategoria)then
				if(name==2)then
					args["_i"]=args_dziecko[2];
				elseif((name~="_1")and(name~="_i"))then
					args[name]=value;
				end;
			else
				args[name]=value;
			end;
		end;
	end;
	if(czy_inne_kategorie)then
		local ksiazkawe_modul=require("Module:Książkowe");
		local nazwa_strony=ksiazkawe_modul["PełnaNazwaArtykułu"]();
		local nazwa_szablonu=frame:getParent():getTitle();
		nazwa_szablonu=ksiazkawe_modul["PełnaNazwaArtykułu"](nazwa_szablonu);
		if(nazwa_strony==nazwa_szablonu)then
			local kategorie_modul=require("Module:Kategorie");
			local liczba_elementowa_numerowana=#args;
			args[liczba_elementowa_numerowana+1]=kategorie_modul["SzablonyDodająceKategorie"]();
		end;
	end;
	local frame2=pf:newChild{ title = szablon, args = args };
	local ramka_modul=require("Module:Ramka");
	return ramka_modul.Szablon(frame2);
end;
function p.Kategoria(frame)
	return WykazSzablon(frame,"Kategoria");
end;
function p.Kategorie(frame)
	return WykazSzablon(frame,"Kategorie");
end;
function p.Kategoria2(frame)
	return WykazSzablon(frame,"Kategoria",true);
end;
function p.Kategorie2(frame)
	return WykazSzablon(frame,"Kategorie",true);
end;
return p;