mNie podano opisu zmian |
mNie podano opisu zmian |
||
Linia 49: | Linia 49: | ||
end |
end |
||
if f.is(g[k-1]) then |
if f.is(g[k-1]) then |
||
− | g[k-1]=mw.text.split(f.check(g[k-2],g[k-1],1),',') |
+ | g[k-1]=mw.text.split(mw.text.split(f.check(g[k-2],g[k-1],1),','),'*') |
r[#r+1]='<data><label>'..g[k-2]..'</label><default><div>'..table.concat(g[k-1],'</div><div>')..'</div></default></data>' |
r[#r+1]='<data><label>'..g[k-2]..'</label><default><div>'..table.concat(g[k-1],'</div><div>')..'</div></default></data>' |
||
end |
end |
Wersja z 14:10, 27 kwi 2021
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:IESW/opis
--<source lang="lua">
--=p.main({args={["1:ID:Dane"]='Test',["2:s:Dane"]='Test',["0:Szablon"]='',["3:Występowanie:Informacje"]="Morrowind",["0:Nazwa"]="Artykuł",["0:Plik"]="Plik.jpg",["4:Rasa:Dane"]="Dunmer",["0:Mapa"]="",["0:Podpis mapy"]="",["0:Podpis pliku"]="",["0:Nawigacja"]=""}})
local p={}
local f=require("Moduł:IE5W/f")
local title=mw.title.getCurrentTitle()
function p.main(frame)
local r,g,t={},{},''
local n={
["brak"] = true,
["brak pliku"] = true,
["nie"] = true,
["nie istnieje"] = true,
["plik nie istnieje"] = true
}
for k,v in pairs(frame.args) do
u=mw.text.split(k,':')
g[tonumber(u[1])*3-2]=u[2]
g[tonumber(u[1])*3-1]=v
g[tonumber(u[1])*3]=u[3]
g[u[2]]=v:gsub('%[+(.-)%|?%]+','%1')
end
local title2=title.text:gsub(tostring(f.check('Występowanie',g['Występowanie'],6)),'')
local function IESWFileExt(a,b)
return title2..(a or '')..(g['Występowanie'] and f.check('Występowanie',g['Występowanie'],5,'') or '')..'.'..b
end
local function IESWFileExists(a)
for _,l in pairs({'png','jpg','gif'}) do
if mw.title.new(IESWFileExt(a,l),'Plik').exists then
return IESWFileExt(a,l)
end
end
end
local function IESWFile(a,b,c)
return n[mw.ustring.lower(g[a])] and '<navigation>'..a..' do danego artykułu nie istnieje. Nie pojawia się nigdy w serii [[The Elder Scrolls]].</navigation>' or f.is(g[a]) and '<image><default>'..g[a]..'</default><alt><default>'..g[b]..'</default></alt></image>' or IESWFileExists(c) and '<image><default>'..IESWFileExists(c)..'</default></image>' or not c and '<navigation>Artykuł nie posiada grafik? <span class="plainlinks">['..tostring(mw.uri.fullUrl('Specjalna:Prześlij','wpDestFile='..IESWFileExt(c,'png')..'&wpLicense=Fairuse'))..' Dodaj je!]</span></navigation>' or ''
end
r[#r+1]='<title><default>'..(f.is(g['Ikona']) and '<div class="pi-icon">[[Plik:'..g['Ikona']..'|32px|right]]</div>' or '')..'<div class="pi-title-icon">'..(f.is(g['Nazwa']) and g['Nazwa'] or title2)..'</div>'..(f.is(g['Podtytuł']) and '<div class="pi-subtitle">'..g['Podtytuł']..'</div>' or '')..'</default></title><navigation>'..g['Nawigacja']..'</navigation>'..IESWFile("Plik","Podpis pliku")..IESWFile("Mapa","Podpis mapy","_(mapa)")
for k=3,#g,3 do
if t~=g[k] and f.is(g[k-1]) then
r[#r+1]='<header>'..g[k]..'</header>'
t=g[k]
end
if f.is(g[k-1]) then
g[k-1]=mw.text.split(mw.text.split(f.check(g[k-2],g[k-1],1),','),'*')
r[#r+1]='<data><label>'..g[k-2]..'</label><default><div>'..table.concat(g[k-1],'</div><div>')..'</div></default></data>'
end
end
r[#r+1]='<navigation><div class="pi-links plainlinks">[['..g['Szablon']..'|<span title="Zapoznaj się z dokumentacją szablonu.">szablon</span>]] • ['..tostring(mw.uri.fullUrl('Specjalna:Przegląd/'..title.text))..' <span title="Zobacz własności szablonu.">własności</span>] • <span title="Podgląd">['..tostring(mw.uri.fullUrl('Infobox:'..title.text))..' podgląd]</span> • <span title="Dyskusja">['..tostring(mw.uri.fullUrl('Dyskusja_infoboksu:'..title.text))..' dyskusja]</span> • <span title="Edytuj">['..tostring(mw.uri.fullUrl('Infobox:'..title.text,'action=edit'))..' edytuj]</span> • <span title="Edytuj korzystając z formularza">['..tostring(mw.uri.fullUrl('Infobox:'..title.text,'action=formedit'))..' formularz]</span></div></navigation>'
return mw.getCurrentFrame():preprocess('<infobox theme="'..(g['Występowanie'] and f.check('Występowanie',g['Występowanie'],4) or '')..'">'..table.concat(r)..'</infobox>')
end
-- do navboksów tymczasowo
function p.getLine(frame)
if f.is(frame.args[5]) then
return frame:preprocess(frame.args[1])
else
return f.check(frame.args[1],frame.args[2],tonumber(frame.args[3]),frame.args[4])
end
end
return p
--</source>