Moduł:StronicowyParser/Tekst

Z Wikibooks, biblioteki wolnych podręczników.
 Dokumentacja modułu [stwórz] [odśwież]
local p={}
function p.SpreparowanyWikikodStrony(self,nazwa_modulu,dokumentacja,inkludowana,__FUNKCJA,__FUNKCJA2,__FUNKCJA3,__FUNKCJA4,__FUNKCJA5,__FUNKCJA_ANALIZA_SPISOWA)
   local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
   local nazwy_modul=require("Module:Nazwy");
   nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu);
   
   if(nazwy_np_modul.Module==nazwa_przestrzeni)then
   	    local techniczne_modul=require("Module:Techniczne");
   		local nazwa_modulu_opisu=techniczne_modul["PełnaNazwaOpisuModułu"](nazwa_modulu);
   		if(nazwa_modulu_opisu~=nazwa_modulu)then
   			local tekst=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_modulu_opisu,nazwa_modulu,false,nil,dokumentacja,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   			tekst=__FUNKCJA and __FUNKCJA(tekst,nazwa_modulu,nil,dokumentacja,true) or tekst;
   			return tekst;
   		else
   			local tekst=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_modulu_opisu,nil,not inkludowana,nil,dokumentacja,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   			tekst=__FUNKCJA and __FUNKCJA(tekst,nazwa_modulu,nil,dokumentacja,true) or tekst;
   			return tekst;
   		end;
   elseif(nazwy_np_modul.Template~=nazwa_przestrzeni)then
   	   local tekst=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_modulu,nil,not inkludowana,nil,dokumentacja,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   	   tekst=__FUNKCJA and __FUNKCJA(tekst,nazwa_modulu,nil,dokumentacja,true) or tekst;
   	   return tekst;
   elseif(nazwy_np_modul.Template==nazwa_przestrzeni)then
   	   if(mw.ustring.match(nazwa_modulu,"^[^:]+:(.*/opis)%s*$"))then
   			local szablony_magiczne={};
   			local tekst_artykulu_caly=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_modulu,nil,not inkludowana,szablony_magiczne,true,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   			if(not tekst_artykulu_caly)then return;end;
   			local szablonowe_modul=require("Module:Szablonowe");
   			local ramka_modul=require("Module:Ramka");
   			local tablica_obiektow_strony_dany_modul=((dokumentacja)and {} or nil);
   			tekst_artykulu_caly=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul,nil,function(szablon,obiekt,kod)
   				if(obiekt=="SZABLON")then
   					local nazwa_szablonu,tabela_modyfikatorow=szablonowe_modul["NazwaSzablonuWywołania"](szablon);
   					if(szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))then
   						return ramka_modul.InstrukcjeWarunkowe(szablon);
   					end;
   				end;
   			end);
   			if(dokumentacja and ((not __FUNKCJA2) and true or __FUNKCJA2(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul)))then
   				tekst_artykulu_caly=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul);
   			end;
   			tekst_artykulu_caly=__FUNKCJA and __FUNKCJA(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul,dokumentacja,false) or tekst_artykulu_caly;
   			return tekst_artykulu_caly;
   		else
   			local szablony_magiczne={};
   			local tekst_artykulu_caly=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_modulu,nil,not inkludowana,szablony_magiczne,inkludowana and true or dokumentacja,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   			if(not tekst_artykulu_caly)then return;end;
   			if(inkludowana)then
   				 tekst_artykulu_caly=__FUNKCJA and __FUNKCJA(tekst_artykulu_caly,nazwa_modulu,nil,dokumentacja,true) or tekst_artykulu_caly;
   				 return tekst_artykulu_caly;
   			end;
   			local szablonowe_modul=require("Module:Szablonowe");
   			local parametry_modul=require("Module:Parametry");
   			local ramka_modul=require("Module:Ramka");
   			local tablica_obiektow_strony_dany_modul=((dokumentacja)and {} or nil);
   			local opis=nazwa_modulu.."/opis";
   			local przekierowanie_opis=nil;
   			local techniczne_modul=require("Module:Techniczne");
   			local liczba_istniejacych_zbiorow,tabela_uchwytow_stron=techniczne_modul.PoliczZbiory{[1]=opis,};
   			if(liczba_istniejacych_zbiorow>0)then
   				przekierowanie_opis=techniczne_modul.PrzekierowanieDoStrony(opis);
   			else
   				opis=nil;
   			end;
   			----
    		local tablica_danych_parametrow_szablonu_strony=__FUNKCJA3 and __FUNKCJA3(nazwa_modulu) or nil;
			----
			local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
			local techniczne_modul=require("Module:Techniczne");
			local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
   			tekst_artykulu_caly=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul,nil,function(szablon,obiekt,kod)
   				if(obiekt=="SZABLON")then
   					local tablica_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow;
   					if((__FUNKCJA4)or(__FUNKCJA5))then
   						tablica_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,
   							function(nazwa_szablonu)
   								return __FUNKCJA4 and __FUNKCJA4(nazwa_szablonu,nazwa_modulu,tablica_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nil;
   							end,
   							function(nazwa_szablonu,tabela_modyfikatorow)
   								return __FUNKCJA5 and __FUNKCJA5(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,tablica_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nil;
   							end,tablica_danych_parametrow_szablonu_strony,kod);
   					else
   						 nazwa_szablonu,tabela_modyfikatorow=szablonowe_modul["NazwaSzablonuWywołania"](szablon,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
   					end;
   					if(szablonowe_modul.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow,nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod))then
   							if((not __FUNKCJA4)and(not __FUNKCJA5))then
   								tablica_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod);
   							end;
   							----
   							nazwa_szablonu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]({[1]=nazwa_szablonu,[2]=nazwa_modulu,},tablica_danych_parametrow_szablonu_strony,kod);
   							nazwa_szablonu=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod);
   							----
   						if(stronicowyparser_obiekty_modul.szablony_dokumentacji[nazwa_szablonu])then
   							local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tablica_parametrow_szablonu);
   							if(not czy_nie_brak_parametrow)then
   								 local nazwa_strony_opisu=nazwa_modulu.."/opis";
   								 opis=nil;
   								 local szablony_magiczne={};
   								 local tekst_artykulu_opisu_caly=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,przekierowanie_opis or nazwa_strony_opisu,nil,false,szablony_magiczne,true,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   								 return tekst_artykulu_opisu_caly;
   							else
   								local nazwa_strony_opisu=tablica_parametrow_szablonu[1];
		  	    				local zawartosc=tablica_parametrow_szablonu["zawartość"];
		  	    				----
		  	    				local czy_nazwa_strony_opisu=parametry_modul.CzyTak(nazwa_strony_opisu);
		  	    				local czy_zawartosc=parametry_modul.CzyTak(zawartosc);
		  	    				if((czy_nazwa_strony_opisu)and(not czy_zawartosc))then
		  	    					local opis_tak=((opis) and (nazwa_strony_opisu==opis));
		  	    					local nazwa_strony_opisu_czy_przekierowanie=opis_tak and (przekierowanie_opis or nazwa_strony_opisu) or (techniczne_modul.PrzekierowanieDoStrony(nazwa_strony_opisu) or nazwa_strony_opisu);
		  	    					if((opis)and((opis_tak)or((przekierowanie_opis)and(nazwa_strony_opisu==przekierowanie_opis))))then opis=nil;end;
		  	    					----
		  	    					local szablony_magiczne={};
		  	  						local tekst_artykulu_opisu=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_strony_opisu_czy_przekierowanie,nil,false,szablony_magiczne,true,nazwa_modulu,nil,__FUNKCJA_ANALIZA_SPISOWA);
		  	  						return tekst_artykulu_opisu;
		  	    				elseif(czy_zawartosc)then
						    		return zawartosc;
						    	else
						    		local nazwa_strony_opisu=nazwa_modulu.."/opis";
						    		opis=nil;
   									local szablony_magiczne={};
   									local tekst_artykulu_opisu_caly=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,przekierowanie_opis or nazwa_strony_opisu,nil,false,szablony_magiczne,true,nil,nil,__FUNKCJA_ANALIZA_SPISOWA);
   									return tekst_artykulu_opisu_caly;
		  	    				end;
							end;
   						else
   							if(opis)then
   								local pelna_nazwa_szablonu=szablonowe_modul["PełnaNazwaStronyNazwySzablonu"](nazwa_szablonu);
   								if((opis==pelna_nazwa_szablonu)or((przekierowanie_opis)and(przekierowanie_opis==pelna_nazwa_szablonu)))then 
	   								opis=nil;
   									local szablony_magiczne={};
   									local tekst_artykulu_opisu=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,przekierowanie_opis or pelna_nazwa_szablonu,nil,false,szablony_magiczne,true,nazwa_modulu,nil,__FUNKCJA_ANALIZA_SPISOWA);
   									return tekst_artykulu_opisu;
   								end;
   							end;
   						end;
   					end;
   					if(szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow))then
   						return ramka_modul.InstrukcjeWarunkowe(szablon);
   					end;
   				end;
   			end,nil,nil,function(tekst_artykulu,nazwa_modulu,tablica_obiektow_strony_dany_modul)
   				if((not inkludowana)and(opis))then
   					local szablony_magiczne={};
   					opis=przekierowanie_opis or opis;
   					local tekst_artykulu_opisu=p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,opis,nil,false,szablony_magiczne,true,nazwa_modulu,nil,__FUNKCJA_ANALIZA_SPISOWA);
   					return tekst_artykulu_opisu;
   				end;
   			end);
   			if(dokumentacja and ((not __FUNKCJA2) and true or __FUNKCJA2(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul)))then
   				tekst_artykulu_caly=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul);
   			end;
   			tekst_artykulu_caly=__FUNKCJA and __FUNKCJA(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul,dokumentacja,false) or tekst_artykulu_caly;
   			return tekst_artykulu_caly;
		end;
	end;
end;
function p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,inkludowana,__FUNKCJA,__FUNKCJA2,__FUNKCJA_ANALIZA_SPISOWA)
	local tablica_obiektow_strony_dany_modul_uzyskany=nil;
	local tablica_parametrow_szablonu_strony={};
	local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
	local szablonowe_modul=require("Module:Szablonowe");
	local techniczne_modul=require("Module:techniczne");
	local nazwy_modul=require("Module:Nazwy");
	local parametry_modul=require("Module:Parametry");
 	local tekst_rozwiniety_calego_artykulu=p.SpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,true,inkludowana,function(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_obiektow_strony_dany_modul,dokumentacja,czy_niezakodowana)
 				tablica_obiektow_strony_dany_modul=tablica_obiektow_strony_dany_modul or {};
 				tablica_obiektow_strony_dany_modul_uzyskany=tablica_obiektow_strony_dany_modul;
 				if(not tekst_rozwiniety_calego_artykulu)then return;end;
 				local __self=szablonowe_modul:TablicaTransportuSzablonowe();
 				--if((__self)and(tablica_obiektow_strony_dany_modul)and(not czy_niezakodowana))then
 					--if(not __self.tablica_obiektow_strony_dany_modul)then __self.tablica_obiektow_strony_dany_modul={};end;
 					--__self.tablica_obiektow_strony_dany_modul[nazwa_modulu_aktualna_czy_biezaca]=tablica_obiektow_strony_dany_modul;
 				--end;
 				tekst_rozwiniety_calego_artykulu=tekst_rozwiniety_calego_artykulu and szablonowe_modul[czy_niezakodowana and "RozwijanieNiezakodowanegoSzablonu" or "RozwijanieZakodowanegoSzablonu"](__self,tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_obiektow_strony_dany_modul,tablica_parametrow_szablonu_strony,
 				stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu,
 				stronicowyparser_potrzebne_modul.RozwijanieZakodowanejNazwySzablonu,
 				function(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow)
    	    		local czy_nie_brak_parametrow=parametry_modul["CzySąElementyTablicy"](tabela_parametrow_szablonu);
    	    		if(czy_nie_brak_parametrow)then return true;end;
    			end,
				function(pelna_nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow)
					if(not mw.ustring.match(pelna_nazwa_szablonu,"/"))then return true;end;
    				local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_szablonu);
    				if(nazwa_artykulu=="")then
    					return true;
    				end;
    				local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu);
    				if(strona)then
    					   if(not mw.ustring.match(pelna_nazwa_szablonu,"/"))then return true;end;
    					   local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona);
    					   if(nazwa_artykulu=="")then
    							return true;
    					   end;	
    				end;
				end,
				__FUNKCJA,
				__FUNKCJA2,
				function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html)
					return __FUNKCJA_ANALIZA_SPISOWA and __FUNKCJA_ANALIZA_SPISOWA(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,false) or nil;
				end) or nil;
				return tekst_rozwiniety_calego_artykulu;
 		end, function(tekst_artykulu_caly,nazwa_modulu,tablica_obiektow_strony_dany_modul)
 			return nil;
 		end,function(nazwa_modulu)
    		return tablica_parametrow_szablonu_strony;
 		end,stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu,
		stronicowyparser_potrzebne_modul.RozwijanieZakodowanejNazwySzablonu,
		function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html)
			return __FUNKCJA_ANALIZA_SPISOWA and __FUNKCJA_ANALIZA_SPISOWA(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,true) or nil;
		end);
 	----
 	return tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany,tablica_parametrow_szablonu_strony;
end;
function p.PobierzSpecjalniePrzygotowanyPreWikikodStrony(self,nazwa_strony,nazwa_strony2,czy_noinclude,szablony_magiczne,dokumentacja,nazwa_modulu_szablonu_opisu,szablon_nie_opis,__FUNKCJA_ANALIZA_SPISOWA)
   local czy_nazwa_strony_z_tylko_odstepami_lub_pusta=mw.ustring.match(nazwa_strony,"^[_%s]*$");
   local uchwyt_strony;
   local tekst_artykulu;
   local nazwa_strony_bez_kodow_html;
   if(not czy_nazwa_strony_z_tylko_odstepami_lub_pusta)then
   		---
	  local html_modul=require("Module:Html");
	  nazwa_strony_bez_kodow_html=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_strony);
	  local szablonowe_modul=require("Module:Szablonowe");
	  local pudelko_modul=require("Module:Pudełko");
	  local czy_nazwa_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_strony_bez_kodow_html);
	  if(czy_nazwa_niepoprawna)then 
	  		if(self and self.tabela_listy_danych_analizy_ksiazki)then
	  	    	local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
        		if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nazwa strony niepoprawna"))then
         			stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nazwa strony niepoprawna");
        		end;
	  		end;
	  		local parametry_modul=require("Module:Parametry");
    		mw.log("Nieprawidłowy format nazwy modułu przy uzyskiwaniu jego zawartości: "..(parametry_modul["CzyTakCiąg"](nazwa_modulu) and nazwa_modulu or "(nazwa pusta)")..".");
			return nil;
	  end;
	  ---
   	  local nazwa_strony_z_kodami_html=html_modul["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"](nazwa_strony);
      
      uchwyt_strony = mw.title.makeTitle('', nazwa_strony_z_kodami_html);
      if(not uchwyt_strony)then
      	   local parametry_modul=require("Module:Parametry");
      	   mw.log("Nieprawidłowy format nazwy modułu przy uzyskiwaniu jego uchwytu: "..(parametry_modul["CzyTakCiąg"](nazwa_modulu) and nazwa_modulu or "(nazwa pusta)")..".");
      end;
      tekst_artykulu = uchwyt_strony and uchwyt_strony:getContent() or nil;
      local czy_istnieje = tekst_artykulu or (uchwyt_strony and uchwyt_strony.exists or nil);
      
      if(not czy_istnieje)then 
      		if(self and self.tabela_listy_danych_analizy_ksiazki)then
      			local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
        		if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"strona nie istnieje"))then
         			stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"strona nie istnieje");
        		end;
        	end;
        	return nil;
      else
    		local czy_nie_istnieje_zawartosc=((uchwyt_strony)and(not tekst_artykulu));
    		if(czy_nie_istnieje_zawartosc)then
    			if(self and self.tabela_listy_danych_analizy_ksiazki)then
    				local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
    				if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"zawartość strony nie istnieje"))then
         				stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"zawartość strony nie istnieje");
    				end;
    			end;
      			return nil;
    		end;
    	end;
    else
    	if(self and self.tabela_listy_danych_analizy_ksiazki)then
      		local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
        	if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nazwa strony składa się tylko ze znaków odstępu"))then
         		stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nazwa strony składa się tylko ze znaków odstępu");
        	end;
        end;
      return nil;
   end;
    
    if(czy_noinclude)then
		tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<%s-[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]%s->(.-)<%s-/%s-[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]%s->","%1");
    	tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<%s-[Ii][Nn][Cc][Ll][Uu][Dd][Ee][Oo][Nn][Ll][Yy]%s->.-<%s-/%s-[Ii][Nn][Cc][Ll][Uu][Dd][Ee][Oo][Nn][Ll][Yy]%s->","");
    else
    	tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<%s-[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]%s->.-<%s-/%s-[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]%s->","");
    	tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<%s-[Ii][Nn][Cc][Ll][Uu][Dd][Ee][Oo][Nn][Ll][Yy]%s->(.-)<%s-/%s-[Ii][Nn][Cc][Ll][Uu][Dd][Ee][Oo][Nn][Ll][Yy]%s->","%1");
    end;
    tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<[Tt][Ee][Mm][Pp][Ll][Aa][Tt][Ee][Dd][Aa][Tt][Aa]>(.-)</[Tt][Ee][Mm][Pp][Ll][Aa][Tt][Ee][Dd][Aa][Tt][Aa]>","");
    -----
    tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"</?%s-[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]%s->","");
    tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"</?%s-[Ii][Nn][Cc][Ll][Uu][Dd][Ee][Oo][Nn][Ll][Yy]%s->","");
    tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"</?%s-[Tt][Ee][Mm][Pp][Ll][Aa][Tt][Ee][Dd][Aa][Tt][Aa]%s->","");
    ----
    --tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"\n[^%S\n]*<!%-%-(.-)%-%->[^%S\n]*\n","\n");
    tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<!%-%-(.-)%-%->","");
    --tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<%s-[Nn][Oo][Ww][Ii][Kk][Ii]%s->.-<%s-/%s-[Nn][Oo][Ww][Ii][Kk][Ii]%s->","");
    --tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"<%s-[Pp][Rr][Ee]%s->.-<%s-/%s-[Pp][Rr][Ee]%s->","");
    --tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"(<%s-[mM][aA][tT][hH]%s->.-<%s-/%s-[mM][aA][tT][hH]%s->)",""); 	
    if(szablony_magiczne)then
    	local nazwy_modul=require("Module:Nazwy");
    	szablony_magiczne["{{ROOTPAGENAME}}"]=nazwy_modul["NAZWAKORZENIASTRONY"](nazwa_modulu_szablonu_opisu or nazwa_strony_bez_kodow_html);
    	szablony_magiczne["{{NAMESPACE}}"]=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_modulu_szablonu_opisu or nazwa_strony_bez_kodow_html);
    	szablony_magiczne["{{PAGENAME}}"]=nazwy_modul["NAZWASTRONY"](nazwa_modulu_szablonu_opisu or nazwa_strony_bez_kodow_html);
    	szablony_magiczne["{{FULLPAGENAME}}"]=nazwy_modul["PEŁNANAZWASTRONY"](nazwa_modulu_szablonu_opisu or nazwa_strony_bez_kodow_html);
    	szablony_magiczne["{{SUBPAGENAME}}"]=nazwy_modul["NAZWASUBSTRONY"](nazwa_modulu_szablonu_opisu or nazwa_strony_bez_kodow_html);
    end;
    if(szablony_magiczne)then 
    	tekst_artykulu=mw.ustring.gsub(tekst_artykulu,"{{[^{}]+}}",szablony_magiczne);
    	local ramka_modul=require("Module:Ramka");
    	tekst_artykulu=ramka_modul.InstrukcjeWarunkowe(tekst_artykulu);
    end;
    ----
    tekst_artykulu=__FUNKCJA_ANALIZA_SPISOWA and __FUNKCJA_ANALIZA_SPISOWA(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html) or tekst_artykulu;
    ----
    if(not szablon_nie_opis)then
    	if(not dokumentacja)then
    		local szablonowe_modul=require("Module:Szablonowe");
    		tekst_artykulu=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst_artykulu,nazwa_strony2 or nazwa_strony);
    	end;
    end;
    return tekst_artykulu;
end;
return p;