Moduł:Książkowe

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 NazwaKsiazkawaSilnik(frame,funkcja_nazw)
	local pelna_nazwa_strony;local bez_transformacji;local funkcja;local modul;
	if(type(frame)=="table")then
		local args=frame.args or frame;
		pelna_nazwa_strony=args["nazwa"] or args[1];
		bez_transformacji=args["bez transformacji"];
		funkcja=args["funkcja"];
		modul=args["moduł"];
	else
		pelna_nazwa_strony=frame;
	end;
	local nazwa_jednostki=require("Module:Nazwy")[funkcja_nazw](pelna_nazwa_strony);
	local parametry_modul=require("Module:Parametry");
	return (parametry_modul.CzyTak{[1]=bez_transformacji})and nazwa_jednostki or require("Module:"..(parametry_modul.CzyTak(modul)and modul or "Html"))[parametry_modul.CzyTak(funkcja)and funkcja or "TransformacjaKoduZnakuDoZnakuŁancucha"](nazwa_jednostki);
end;
p["NazwaPrzestrzeniKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENIKSIĄŻKI");
end;
p["NazwaKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAKSIĄŻKI");
end;
p["PełnaNazwaKsiążki"] = function(frame)
	return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWAKSIĄŻKI");
end;
p["NazwaArtykułuKsiążki"]=function(frame)
	return NazwaKsiazkawaSilnik(frame,"NAZWAARTYKUŁUKSIĄŻKI");
end;
p["PełnaNazwaStronicowejKsiążki"]=function(frame)
	local nazwa_ksiazki;local bez_transformacji;local funkcja;local modul;
	if(type(frame)=="table")then
		local args=frame.args or frame;
		nazwa_ksiazki=args["nazwa"] or args[1];
		bez_transformacji=args["bez transformacji"];
		funkcja=args["funkcja"];
		modul=args["moduł"];
	else
		nazwa_ksiazki=frame;
	end;
	
	if(not nazwa_ksiazki)then
		local ksiazkowe_modul=require("Module:Książkowe");
		return ksiazkowe_modul["PełnaNazwaKsiążki"]{[1]=nazwa_ksiazki,["bez transformacji"]=bez_transformacji,["funkcja"]=funkcja,["moduł"]=modul};
	elseif(nazwa_ksiazki=="")then
		return "";
	end;
	local dwukropek=mw.ustring.match(nazwa_ksiazki,"^:");
	if(dwukropek)then 
		local ksiazkowe_modul=require("Module:Książkowe");
		return ksiazkowe_modul["PełnaNazwaKsiążki"]{[1]=nazwa_ksiazki,["bez transformacji"]=bez_transformacji,["funkcja"]=funkcja,["moduł"]=modul};
	else
		local nazwy_modul=require("Module:Nazwy");
		local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
		local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");

		local ksiazkowe_modul=require("Module:Książkowe");

		local czy_nazwa_ksiazki_z_przestrzenia=(nazwa_przestrzeni~="");
		if czy_nazwa_ksiazki_z_przestrzenia then
			return ksiazkowe_modul["PełnaNazwaKsiążki"]{[1]=nazwa_ksiazki,["bez transformacji"]=bez_transformacji,["funkcja"]=funkcja,["moduł"]=modul};
		else
			local title_main=mw.title.makeTitle('',nazwa_ksiazki);
			if((title_main)and(title_main.exists))then
				return ksiazkowe_modul["NazwaKsiążki"]{[1]=nazwa_ksiazki,["bez transformacji"]=bez_transformacji,["funkcja"]=funkcja,["moduł"]=modul};
			else
				local title_wikijunior=mw.title.makeTitle(nazwy_np_modul.Wikijunior,nazwa_ksiazki);
				if((title_wikijunior)and(title_wikijunior.exists))then
					local nazwy_np_modul=mw.loadData("Module:Nazwy/Np")
					return ((nazwy_np_modul.Wikijunior~="")and nazwy_np_modul.Wikijunior..":" or "")..ksiazkowe_modul["NazwaKsiążki"]{[1]=nazwa_ksiazki,["bez transformacji"]=bez_transformacji,["funkcja"]=funkcja,["moduł"]=modul};
				else
					local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"]();
					local pelna_nazwa_ksiazki=nazwa_przestrzeni_ksiazki..((nazwa_ksiazki~="")and("/"..nazwa_ksiazki) or "");
					return ksiazkowe_modul["PełnaNazwaKsiążki"]{[1]=pelna_nazwa_ksiazki,["bez transformacji"]=bez_transformacji,["funkcja"]=funkcja,["moduł"]=modul};
				end;
			end;
		end;
	end;
end;
return p;