Módulo:Gb2
Ir para navegação
Ir para pesquisar
A documentação para este módulo pode ser criada em Módulo:Gb2/doc
local p = {}
function p.render(frame)
local args = frame:getParent().args
local skills = {}
for i = 1, 10 do
if args["skill" .. i .. "_title"] then
table.insert(skills, {
title = args["skill" .. i .. "_title"],
desc = args["skill" .. i .. "_desc"] or "",
type = args["skill" .. i .. "_type"] or "video",
src = args["skill" .. i .. "_src"]
})
end
end
if #skills == 0 then
return "Nenhuma habilidade definida."
end
local html = mw.html.create("div"):addClass("skill-box")
-- Tabs
local tabs = mw.html.create("div"):addClass("skill-tabs")
for i = 1, #skills do
tabs:tag("span")
:addClass("skill-tab")
:wikitext(i)
end
html:node(tabs)
-- Conteúdo
for i, skill in ipairs(skills) do
local block = mw.html.create("div")
:addClass("skill-block")
:addClass(i == 1 and "active" or "")
block:tag("h2")
:addClass("skill-title")
:wikitext(skill.title)
block:tag("div")
:addClass("skill-description")
:wikitext(skill.desc)
local media = block:tag("div"):addClass("skill-media")
if skill.type == "iframe" then
media:tag("iframe")
:attr("src", skill.src)
:attr("allowfullscreen", "true")
else
media:tag("video")
:attr("src", "Special:FilePath/" .. skill.src)
:attr("controls", "true")
:attr("loop", "true")
:attr("muted", "true")
end
html:node(block)
end
return tostring(html)
end
return p