Documentation for this module may be created at Module:MasteryCards/doc
local p = {}
function p.renderMasteryCard(mastery)
local html = mw.html.create('div'):addClass('mastery-card')
html:tag('div'):addClass('mastery-image')
:wikitext(string.format('[[File:%s|200px]]', mastery.image or ''))
local header = html:tag('div'):addClass('mastery-card-header')
header:tag('div'):addClass('mastery-name'):wikitext(mastery.name or '')
header:tag('div'):addClass('master-description'):wikitext(mastery.desc or '')
local function addTier(tier, reward, req)
local tierDiv = html:tag('div'):addClass('mastery-card-info')
tierDiv:tag('div'):addClass('mastery-card-block')
:tag('div'):addClass('mastery-tier'):wikitext(tier):done()
:tag('div'):addClass('mastery-reward'):wikitext(reward or '')
tierDiv:tag('div'):addClass('mastery-requirement'):wikitext(req or '')
end
addTier('Bronze', mastery.bronzeReward, mastery.bronzeReq)
addTier('Silver', mastery.silverReward, mastery.silverReq)
addTier('Gold', mastery.goldReward, mastery.goldReq)
return tostring(html)
end
function p.main(frame)
local args = frame:getParent().args
local html = mw.html.create('div'):addClass('mastery-container')
local index = 1
while args['name'..index] do
local mastery = {
image = args['image'..index],
name = args['name'..index],
desc = args['desc'..index],
bronzeReward = args['bronzeReward'..index],
bronzeReq = args['bronzeReq'..index],
silverReward = args['silverReward'..index],
silverReq = args['silverReq'..index],
goldReward = args['goldReward'..index],
goldReq = args['goldReq'..index],
}
html:wikitext(p.renderMasteryCard(mastery))
index = index + 1
end
return tostring(html)
end
return p