Moduł:StronicowyParser/obiekty

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={};
local m={};
p.wypowiedzi={
	{"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",},
	{"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",},
	{"Lemat", nil,nil,"Lematu",2,"lematami","lematów",},
	{"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",},
	{"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów","z",},
	{"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",},
	{"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",},
	{"Zdefiniuj", nil,nil,"Zdefiniowania",2,"definicjami","definicji",},
	{"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",},
	{"Przećwicz",nil,nil,"Przećwiczenia",2,"ćwiczeniami","ćwiczeń",},
	{"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",},
	{"Schemat",nil,nil,"Schematu",2,"schematami","schematów",},
};
p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",};
p.normalne={
	{"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",},
	{"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",},
	{"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",},
	{"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",},
	{"Nagłówkuj",nil,{"LinkNagłówkujTutaj",},"Nagłówkuj",1,"nagłówkami","nagłówków",},
};	
p.nienumerowane_z_uchwytami_szablony_naglowka={
	["Nagłówkuj"]=true,
};
p.bez_uchwytow_spis_tresci={
	["TOC"]=true,
	["TOCRamka"]=true,
}
p.szablony_pudelka={
	["Sekcja referencyjna"]=true,
----------------------------------
	["ListaNagłówkówKsiążki"]=true,
----------------------------------	
	["AktualnaKsiążka"]=true,
	["NastępnyArtykuł"]=true,
	["PoprzedniArtykuł}"]=true,
	["NazwaAktualnyArtykuł"]=true,
	["LinkAktualnaKsiążka"]=true,
	["LinkNastępnyArtykuł"]=true,
	["LinkPoprzedniArtykuł"]=true,
----------------------------------
    ["PierwszyArtykuł"]=true,
    ["OstatniArtykuł"]=true,
    ["PomiędzyArtykuł"]=true,
    ["LosowyArtykuł"]=true,
    ["PobierzNazwęArtykułu"]=true,
    ["PobierzNumerArtykułu"]=true,
    ["PobierzNazwęLinkuArtykułu"]=true,
---------------------------------
    ["LiczbaArtykułówKsiążki"]=true,
    ["PoziomNazwyArtykułu"]=true,
---------------------------------
    ["PobierzSubNazwęNadArtykułu"]=true,
};
----szablony stronicowego parsera
function m.SzablonyStronicowegoParsera()
	local s={};
	local function TabNumer(n,obiekty_szablon)
		if(obiekty_szablon[n])then
			if(type(obiekty_szablon[n])=="table")then
				for _,wartosc in ipairs(obiekty_szablon[n])do
					s[wartosc]=true;
				end;
			else
				s[obiekty_szablon[n]]=true;
			end;
		end;
	end;
	local function RozwazanaTablica(tab_obiekty)
		for _,obiekty_szablon in ipairs(tab_obiekty)do
			s[obiekty_szablon[1]]=true;
			TabNumer(2,obiekty_szablon);
			TabNumer(3,obiekty_szablon);
		end;
	end;
	RozwazanaTablica(p.wypowiedzi);
	RozwazanaTablica(p.normalne);
	
	TabNumer(2,p.obiekty);
	TabNumer(3,p.obiekty);
	
	local function IndeksowaneZWartosciamiTak(tab_obiekty)
		for indeks,_ in pairs(tab_obiekty)do
			s[indeks]=true;
		end;
	end;
	IndeksowaneZWartosciamiTak(p.bez_uchwytow_spis_tresci);
	IndeksowaneZWartosciamiTak(p.szablony_pudelka);
	return s;
end;
p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera();
----koniec szablony pudełka

----Tablica obiektów
function m.TablicaObiektow()
	local s={};
	for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end;
	for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end;
	p.tablica_obiektow_bez_obiektu_nienazwanego=s;
	s[#s+1]=p.obiekty;
	return s;
end;
p.tablica_obiektow=m.TablicaObiektow();
----Koniec tablica obiektów
return p;