Moduł:StronicowyParser/obiekty

Z Wikibooks, biblioteki wolnych podręczników.
 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",},
	{"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",},
	{"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",},
	{"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",},
	{"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",},
	{"Praktyka",nil,nil,"Praktyki",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ż",},
};
p.napisy_wprowadzenia_tekstu={
	{"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",},
};
p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł";
m.LinkiSzablonyNapisuWprowadzeniaTekstu=function()
	local s={};
	for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do
		s[wartosc[1]]={};
		local t=s[wartosc[1]];
		local i=1;
		t[i]="Link"..wartosc[1];
		function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t)
			if(type(linki_naglowka)=="table")then
				for _,wartosc in ipairs(linki_naglowka)do
					i=i+1;
					t[i]=wartosc;
				end;
			else
				i=i+1;
				t[i]=linki_naglowka;
			end;
		end;
		DalszeLinkiWprowadzeniaTekstu(wartosc[3],t);
	end;
	return s;
end;
m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function()
	local s={};
	for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do
		s[wartosc[1]]=true;
	end;
	return s;
end;
p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu();
p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu();
p.uklad_autonawigacji="Układ autonawigacji";
p.bez_uchwytow_spis_rzeczy_strony={
	["TOC"]=true,
	["TOCRamka"]=true,
};
p.szablony_z_lokalnym_spisem_rzeczy_strony={
	["TOC limit"]=true,
	["Spis treści"]=true,
	["TOCright"]=true,
	["Spis treści zwinięty"]=true,
};
p.szablony_kontenerowe={
	["Sekcja referencyjna"]=true,
----------------------------------
	["ListaNagłówkówKsiążki"]=true,
	["LiniaArtykułuKsiążki"]=true,
----------------------------------
	["PomiędzyNagłówek"]=true,
	["LosowyNagłówek"]=true,
	["PierwszyNagłówek"]=true,
	["OstatniNagłówek"]=true,
	["LiczbaNagłówkówSpisu"]=true,
----------------------------------
	["AktualnaKsiążka"]=true,
	["NastępnyArtykuł"]=true,
	["PoprzedniArtykuł"]=true,
	["NazwaAktualnyArtykuł"]=true,
	["LinkAktualnaKsiążka"]=true,
	["LinkNastępnyArtykuł"]=true,
	["LinkPoprzedniArtykuł"]=true,
----------------------------------
	["LinkNastępnySubArtykuł"]=true,
	["LinkPoprzedniSubArtykuł"]=true,
----------------------------------
    ["PierwszyArtykuł"]=true,
    ["OstatniArtykuł"]=true,
    ["PomiędzyArtykuł"]=true,
    ["LosowyArtykuł"]=true,
    ["PobierzNazwęArtykułu"]=true,
    ["PobierzNumerArtykułu"]=true,
    ["NazwaLinkuArtykułu"]=true,
--------------------------------
    ["PobierzNazwęNagłówka"]=true,
    ["PobierzNumerNagłówka"]=true,
---------------------------------
    ["LiczbaArtykułówKsiążki"]=true,
    ["PoziomNazwyArtykułu"]=true,
---------------------------------
    ["SubNazwaNadArtykułu"]=true,
    ["NazwaNadArtykułu"]=true,
    ["LinkNazwaNadArtykułu"]=true,
    ["LinkSubNazwaNadArtykułu"]=true,
-----------------------------------
	["Autonawigacja"]=true,
};
p.szablony_stronicowe_niekontenerowe={
	["ArtykułSubst"]=true,
};
p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={
	["Formuła"]=1;
};
----szablony stronicowego parsera
function m.SzablonyStronicowegoParsera()
	local t={};
	t.szablony_kontenerowe={};
	local s=t.szablony_kontenerowe;
	t.szablony_wprowadzenia_tekstu={};
	local r=t.szablony_wprowadzenia_tekstu;
	
	local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r)
		for _,szablony_naglowka in ipairs(naglowki) do
			r[szablony_naglowka[1]]=true;
			if(szablony_naglowka[2])then
				if(type(szablony_naglowka[2])=="table")then
					for _,wartosc in ipairs(szablony_naglowka[2])do
						r[wartosc]=true;
					end;
				else
					r[szablony_naglowka[2]]=true;
				end;
			end;
		end;
	end;
	SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r);
	
	local function TabNumer(n,obiekty_szablon,s)
		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 RozpatrywanaTablica(tab_obiekty,s)
		for _,obiekty_szablon in ipairs(tab_obiekty)do
			s[obiekty_szablon[1]]=true;
			s["Link"..obiekty_szablon[1]]=true;
			TabNumer(2,obiekty_szablon,s);
			TabNumer(3,obiekty_szablon,s);
		end;
	end;
	
	RozpatrywanaTablica(p.normalne,s);	
	RozpatrywanaTablica(p.wypowiedzi,s);
	RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s);
	
	TabNumer(2,p.obiekty,s);
	TabNumer(3,p.obiekty,s);
	
	local function IndeksowaneNaTak(tab_obiekty,s)
		for indeks,_ in pairs(tab_obiekty)do
			s[indeks]=true;
		end;
	end;
	IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s);
	IndeksowaneNaTak(p.szablony_kontenerowe,s);
	return t;
end;
p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera();
----koniec szablony pudełka

----Tablica obiektów
function m.TablicaObiektowychForm()
	local s={};local r={};
	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;
	for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end;
	
	for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end;
	for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end;
	
	p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s;
	p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r;
	s[#s+1]=p.obiekty;
	return s;
end;
----
m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function()
	function Obiekty(s,obiekty)
		for _,tab_obiektow in ipairs(obiekty)do
			s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],};
			local tab_szablony=tab_obiektow[2];
			if(tab_szablony)then
				if(type(tab_szablony)=="table")then
					for _,element in ipairs(tab_szablony)do
						s[element]={tab_obiektow[1],tab_obiektow[5],};
					end;
				else
					s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],};
				end;
			end;
		end;
	end;
	local s={};local r={};
	Obiekty(s,p.wypowiedzi);
	Obiekty(s,p.normalne);
	Obiekty(r,p.napisy_wprowadzenia_tekstu);
	return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,};
end;
p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami();
m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function()
	function Obiekty(s,linkobiekty)
		for _,tab_obiektow in ipairs(linkobiekty)do
			s["Link"..tab_obiektow[1]]=tab_obiektow[1];
			local tab_szablony=tab_obiektow[3];
			if(tab_szablony)then
				if(type(tab_szablony)=="table")then
					for _,element in ipairs(tab_szablony)do
						s[element]=tab_obiektow[1];
					end;
				else
					s[tab_szablony]=tab_obiektow[1];
				end;
			end;
		end;
	end;
	local s={};local r={};
	Obiekty(s,p.wypowiedzi);
	Obiekty(s,p.normalne);
	Obiekty(r,p.napisy_wprowadzenia_tekstu)
	return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,};
end;
p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami();
m.FormatElementowyObiektowy=function()
	local s={};
	function Obiekty(s,obiekty)
		for _,tab_obiektow in ipairs(obiekty)do
			s[tab_obiektow[1]]=true;
		end;
	end;
	Obiekty(s,p.wypowiedzi);
	Obiekty(s,p.normalne);
	return s;
end;
p.format_elementowy_obiektowy=m.FormatElementowyObiektowy();
m.FormatElementowyReferencjiObiektowych=function()
	local s={};
	function Obiekty(s,obiekty)
		for _,tab_obiektow in ipairs(obiekty)do
			local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]);
			s[element]=true;
		end;
	end;
	Obiekty(s,p.wypowiedzi);
	Obiekty(s,p.normalne);
	return s;
end;
p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych();
----
----
p.tablica_obiektowych_form=m.TablicaObiektowychForm();
p.szablony_stron_zbiorczych={
	["KsiążkaSubst"]=true,
	["StronaSubst"]=true,
};
p.inne_szablony_stron_zbiorczych={
	["Sekcja referencyjna"]=true,
}
m.StronyZbiorcze=function()
	local s={};
	local function Ziorcze(tab)
		for name,_ in pairs(tab)do
			s[name]=true;
		end;
	end;
	Ziorcze(p.szablony_stron_zbiorczych);
	Ziorcze(p.inne_szablony_stron_zbiorczych);
	return s;
end;
p.strona_zbiorcza=m.StronyZbiorcze();
p.strona_start_inne={
	["StandardowaStronaStart"]=true,
	["PodstawowaStronaStart"]=true,
	["ProstaStronaStart"]=true,
};
p.strona_start={
	["StronaStart"]=true,
};
p.strona_start_ze_spisem_rzeczy_strony={
	["UnikatowaStronaStart"]=true,
	["UnikalnaStronaStart"]=true,
	["SkomplikowanaStronaStart"]=true,
};
p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={
	["SkomplikowanaStronaStart"]=true,
};
m.SzablonyFormartowaniaTekstu=function()
	local s={};
	local function DodatDoTablicy(tab)
		for name,_ in pairs(tab)do
			s[name]=true;
			local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec");
			s[name_koniec]=true;
		end;
	end;
	DodatDoTablicy(p.strona_start);
	DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony);
	DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony);
	DodatDoTablicy(p.strona_start_inne);
	return s;
end;
p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu();
p.tablica_nazw_ramek_lua={
	"StronicowyParser",
};
----Koniec tablica obiektów
p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={
  ["licencja"]=true,
  ["inne"]=true,
  ["bibliografia"]=true,
  ["zobacz też"]=true,
  ["linki zewnętrzne"]=true,
  --[[["dedykacja"]=true,]]
};
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={
  ["spis treści"]=true,
  ["spis rzeczy"]=true,
};
--[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={
	["bibliografia"]=true,
	["literatura"]=true,
};]]
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={
	[1]={"^[%s_]*'*[%s_]*[Ss][Pp][Ii][Ss][%s_]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][%s_]*'*[%s_]*:?[%s_]*'*[%s_]*$","[ _]*'*[ _]*[Ss][Pp][Ii][Ss][ _]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _]*'*[ _]*:?[ _]*'*[ _]*",},
	[2]={"^[%s_]*'*[%s_]*[Ss][Pp][Ii][Ss][%s_]+[Rr][Zz][Ee][Cc][Zz][Yy][%s_]*'*[%s_]*:?[%s_]*'*[%s_]*$","[ _]*'*[ _]*[Ss][Pp][Ii][Ss][ _]+[Rr][Zz][Ee][Cc][Zz][Yy][ _]*'*[ _]*:?[ _]*'*[ _]*",},
};
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={
	[1]={"^[%s_]*'*[%s_]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][%s_]*'*[%s_]*:?[%s_]*'*[%s_]*$","[ _]*'*[ _]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _]*'*[ _]*:?[ _]*'*[ _]*",false,},
	[2]={"^[%s_]*'*[%s_]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][%s_]*'*[%s_]*:?[%s_]*'*[%s_]*$","[ _]*'*[ _]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _]*'*[ _]*:?[ _]*'*[ _]*",true,},
};
p.artykularne_niespisowe={
	[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
	[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={
	["Kolumny"]=2,
};
p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={
	["MDL:RozszerzonyLink"]=1,
	["Kompletność"]="",
	["Kompletność krótka"]="",
	["Kompletność junior"]="",
	["Książka"]="",
};
p.szablony_z_dodatkiem_obiektowym={
	["ISBN"]="ISBN $(1)";
};
p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={
	["Cytuj"]=true,
	["Cytuj stronę"]=true,
	["Cytuj pismo"]=true,
	["Cytuj odcinek"]=true,
	["Cytuj książkę"]=true,
	["Cytuj grę komputerową"]=true,
};
p.szablony_dozwolone_w_nazwach_linkowych={
	["Korekta"]	=2,
};
p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={
	
};
p.szablony_do_usuwania_z_tekstu={
	--- szablony książkowe umieszczane na stronie głównej podręcznika
	["Kolekcja"]=true,
	["TODO"]=true,
	["Wersja do druku"]=true,
	--- szablony typowo linkowe
	["Dane tekstu"]=true,
	--- szablony linkowania do innych projektow
	["MediaWiki"]=true,
	["Wikipedia"]=true,
	["Wikipedia kat"]=true,
	["Wikipedia2"]=true,
	["Commons"]=true,
	["Commons ilustr kat"]=true,
	["Commonsall"]=true,
	["Commonscat"]=true,
	["Wikiatlas"]=true,
	["Wikicytaty"]=true,
	["Wikicytaty przysłowia"]=true,
	["Inkubator"]=true,
	["Meta"]=true,
	["Wikinews"]=true,
	["Wikinewscat"]=true,
	["Wikinewsy"]=true,
	["Portal Wikinews"]=true,
	["Wikisłownik"]=true,
	["Wikisłownik-cat"]=true,
	["Wikimedia"]=true,
	["Multiwmpl"]=true,
	["Wikipodróże"]=true,
	["Wikispecies"]=true,
	["Multisource"]=true,
	["Wikiźródła"]=true,
	["Wikiźródła autor"]=true,
	["Wikiźródła kat"]=true,
	["Wikiźródła kuch kat"]=true,
	["Wikiźródła krótki"]=true,
	["Wikisource-lang"]=true,
};
p.linki_szablony_elementy_spisu_rzeczy={
	["SpisTreści"]=true,
	["Sekcja referencyjna"]=true,
	["Link wewnętrzny"]=true,
	["LinkOgólne"]=true,
	--[[["LinkGłówna"]=true,
	["LinkWikijunior"]=true,
	["LinkWikijunior2"]=true,
	["LinkProjekt"]=true,
	["LinkProjekt2"]=true,
	["LinkUżytkownik"]=true,
	["LinkUżytkownik2"]=true,]]
};
p.kody_szablony_linkowe_przestrzenne={
	["Główna"]={"",},
	["Kategoria"]={"Category",},
	["Plik"]={"File",},
	["Projekt"]={"Project",},
	["Szablon"]={"Template",},
	["Użytkownik"]={"User",},
	["Pomoc"]={"Help",},
	["Moduł"]={"Module",},
	["Komunikat"]={"MediaWiki",},
	["Specjalna"]={"Special",},
	["Wikiprojekt"]={"Wikiproject","w",},
	["Portal"]={"Portal","w",},
	["Extension"]={"Extension","mw",},
};
p.kody_szablony_linkowe_projektowe={
	["Pedia"]="w",
	["Źródła"]="s",
	["Cytaty"]="q",
	["News"]="n",
	["Słownik"]="wikt",
	["Podróże"]="voy",
	["Wersytet"]="betawikiversity",
	["Species"]="wikispecies",
	["Commons"]="commons",
	["Dane"]="d",
	["MediaWiki"]="mw",
	["MetaWiki"]="m",
};
p.kody_szablony_linkowe_dialektu={
	["En"]="en",
};
p.inne_linki_szablony_elementy_spisu_rzeczy={
	["SpisPozycja"]={true,numer_link="tyt",},
	["SpisZw"]={false,numer=1,link=2,},
};
p.szablony_w_nie_w_tej_samej_linii={
	["SpisPozycja"]=true,
	["SpisZw"]=true,
	["SpisTreści"]=true,
};
p.szablony_kompletowania_stron_woluminu={
	["Kompletność"]=true,
	["Kompletność krótka"]=true,
	["Kompletność junior"]=true,
	["Książka"]=true,
};
p.szablony_wprowadzenia_napisu_spisu_rzeczy={
	["Ce"]=1,
	["Centruj"]=1,
	["Center"]=1,
};
p.szablony_dokumentacji={
	["Dokumentacja"]=true,
};
p.szablony_wykorzystywane_przez_strony_zbiorcze={
	["Sekcja referencyjna"]=true,
};
p.szablony_licencji={
	["Licencja"]=true,
};
p.szablony_ozdobne_stron_woluminu={
	["MDL:RozszerzonyLink"]=true,
};
p.szablony_bez_generowania_napisowego={
	["Status"]=true,
};
p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={
	["Rozdział"]=true,
	["Podrozdział"]=true,
	["MapaObrazu"]=true,
};
p.strony_main_page_projektu={
	["Wikijunior:Strona główna"]=true,
	["Wikibooks:Strona główna"]=true,
	["Strona główna"]=true,
	["Main Page"]=true,
}
p.szablony_nie_typowo_linkowe={
	["Plik"]=true,
	["Kategoria"]=true,
	["Kategorie"]=true,
	["Wolumin"]=true,
};
p.szablony_przypisowe={
	["Przypisy"]=true,
	["Uwagi"]=true,
	["Przypisy-lista"]=true,
};
p.napisy_wprowadzenia_tekstu_przypisowych={
	["Przypisy"]=true,
	["Uwagi"]=true,
	["Bibliografia"]=true,
	["Licencja"]=true,
};
p.magiczne_derektywy={
	["TOC"]=true,
	["NOTOC"]=true,
}
p.znaczniki_szablonowe={
	["Znacznik"]=1,
	["Div"]=1,
	["Code"]=1,
	["Tt"]=1,
	["P"]=1,
	["Sub"]=1,
	["Sup"]=1,
	["Span"]=1,
	["Bdo"]=1,
	["Small"]=1,
	["Big"]=1,
	["Strong"]=1,
};
p.szablony_indeksowania={
	["Kotwica"]	=true,
	["Indeksuj"]=true,
};
return p;