Moduł:Ramka: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Nie podano opisu zmian
Nie podano opisu zmian
Linia 254:
["Parser"] = function(frame)
return SzablonModulParserWywolanie(frame, 2);
end,
["OpakujKategorie"] = function(frame)
local pf=frame:getParent();
local wikikod=frame.args[1] or pf.args[1];
local _;
wikikod,_=mw.ustring.gsub(wikikod,"__NOINDEX__","")
local bez_kategorii=frame.args["bez kategorii wikikodu"] or pf.args["bez kategorii wikikodu"];
local z_nazwa_sortowania=frame.args["z nazwą sortowania"] or pf.args["z nazwą sortowania"];
local category;
local tablica_category={};
local iterator1=mw.ustring.gmatch(wikikod,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*[^%[%]]+%s*%]%]");
local iterator2=mw.ustring.gmatch(wikikod,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*[^%[%]]+%s*%]%]");
local parametry_modul=require("Module:Parametry");
local function Nazwa_kategorii(category)
local nazwa=mw.ustring.match(category,"^%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|]*)")
if(nazwa)then
return parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",};
else
nazwa=mw.ustring.match(category,"^%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|]*)");
if(nazwa)then
return parametry_modul["Odstępy"]{[1]=nazwa,[2]="tak",};
end;
end;
return nil;
end;
local sprawdz_modul=require("Module:Sprawdź");
local nazwa_sprawdzania_parametrow_szablonu=sprawdz_modul["NazwaKategoriiSprawdzaniaParametrówSzablonu"]();
for category in iterator1 do
local nazwa=Nazwa_kategorii(category);
if((nazwa)and(nazwa~=nazwa_sprawdzania_parametrow_szablonu))then
tablica_category[category]="";
end;
end;
for category in iterator2 do
local nazwa=Nazwa_kategorii(category);
if((nazwa)and(nazwa~=nazwa_sprawdzania_parametrow_szablonu))then
tablica_category[category]="";
end;
end;
local parametry_modul=require("Module:Parametry");
if(not parametry_modul["CzySąElementyTablicy"](tablica_category))then return wikikod;end;
wikikod=mw.ustring.gsub(wikikod,"(%[%[%s*[^%[%]]+%s*%]%])",tablica_category);
if(parametry_modul.CzyTak(bez_kategorii))then return wikikod;end;
local czy_z_nazwa_sortowania=parametry_modul.CzyTak(z_nazwa_sortowania);
local ulramka=mw.html.create('ul');
ulramka:css('margin-left','0.3em')
ulramka:css('display','inline');
local pionowa=false;
local kategorie_istnieja=frame.args["kategorie istnieją"] or pf.args["kategorie istnieją"];
local czy_kategorie_istnieja=parametry_modul.CzyTak(kategorie_istnieja);
local parametry_modul=require("Module:Parametry")
local i=1;
for nazwa,wartosc in pairs(tablica_category) do
local nazwa2;
local kategoria_istnieje=mw.ustring.match(nazwa,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|%[%]]+)%s*%]%]");
if(kategoria_istnieje)then
nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]";
else
kategoria_istnieje=mw.ustring.match(nazwa,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*%]%]");
if(kategoria_istnieje)then
nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]";
else
function tag(nazwa)
local czy_tag=mw.ustring.match(nazwa,"<[^/][^<>]->([^<>]*)<%s*/[^<>]+>");
while czy_tag do
nazwa=mw.ustring.gsub(nazwa,"<[^/][^<>]->([^<>]*)<%s*/[^<>]+>","%1");
czy_tag=mw.ustring.match(nazwa,"<[^/][^<>]->([^<>]*)<%s*/[^<>]+>");
end;
return nazwa;
end;
kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=mw.ustring.match(nazwa,"%[%[%s*[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Aa]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]*)%s*%]%]");
if(kategoria_istnieje)then
nazwa_sortowania_kategorii_istniejacej,_=tag(nazwa_sortowania_kategorii_istniejacej)
nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]"..((czy_z_nazwa_sortowania)and ("<sup title=\""..nazwa_sortowania_kategorii_istniejacej.."\">["..i.."]</sup>") or "");i=i+1;
else
local kategoria_istnieje,nazwa_sortowania_kategorii_istniejacej=mw.ustring.match(nazwa,"%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:%s*([^|%[%]]+)%s*|%s*([^%[%]]*)%s*%]%]");
if(kategoria_istnieje)then
nazwa_sortowania_kategorii_istniejacej,_=tag(nazwa_sortowania_kategorii_istniejacej);
nazwa2="[[:Category:"..kategoria_istnieje.."|"..kategoria_istnieje.."]]"..((czy_z_nazwa_sortowania)and ("<sup title=\""..nazwa_sortowania_kategorii_istniejacej.."\">["..i.."]</sup>") or "");i=i+1;
end;
end;
end;
end;
if(((not czy_kategorie_istnieja)or((czy_kategorie_istnieja)and((not kategoria_istnieje)or(kategoria_istnieje~="Szablon kategoria - nieistniejąca kategoria"))))
and((not kategoria_istnieje)or(kategoria_istnieje~=nazwa_sprawdzania_parametrow_szablonu))
)then
nazwa2=parametry_modul["Odstępy"]{[1]=nazwa2,[2]="tak",};
local liramka=mw.html.create('li');
liramka:css('display','inline');
liramka:css('white-space','normal');
if(pionowa)then
liramka:css('border-left','1px solid #a2a9b1');
liramka:css('margin-left','0.4em')
liramka:css('padding-left','0.4em')
pionowa=true;
else
pionowa=true;
end;
liramka:wikitext(nazwa2);
ulramka:node(liramka);
end;
end;
local kategorie="[[Specjalna:Kategorie|Kategorie]]:"
local divramka=mw.html.create('div');
divramka:css('width', 'auto' );
divramka:css('min-height', 'auto');
divramka:css('font-size','1em');
divramka:css('border','1px solid #a2a9b1');
divramka:css('background-color','#f8f9fa');
divramka:css('text-align','left');
divramka:css('padding','5px')
divramka:css('margin-top','0.5em');
divramka:css('margin-bottom','0.5em');
divramka:css('display','flex');
divramka:css('flex-direction','row')
divramka:css('clear','both');
local divramka2=mw.html.create('div');
divramka2:wikitext(kategorie);
divramka2:node(ulramka);
divramka:node(divramka2);
return wikikod..'\n'..tostring(divramka:allDone());
end,
["Powtarzaj"] = function(frame)