local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local wrapper = mw.html.create('div')
:addClass('scroll-wrapper')
:css('position', 'relative')
wrapper:tag('div')
:addClass('parchment-bg')
:attr('id', 'parchment')
local contain = wrapper:tag('div')
:addClass('contain')
:css('position', 'relative')
:css('z-index', '2')
local tabs = contain:tag('div')
:addClass('Tabs')
:attr('data-label-side', 'top')
:attr('data-label-color-side-reverse', '')
:attr('data-divider-size', '')
:attr('data-default-tab', '1')
:attr('data-label-border-color', 'transparent')
:attr('data-label-color', 'transparent')
:attr('data-text-border-color', 'transparent')
:attr('data-text-padding', '.4em .7em')
:attr('data-auto-width', 'yes')
:attr('data-label-background-color', 'transparent')
:attr('data-text-background-color', 'transparent')
local i = 1
while args['title' .. i] do
local tab = tabs:tag('div'):addClass('Tab')
local label = tab:tag('div'):addClass('TabLabelText')
label:tag('span')
:addClass('tab-number')
:wikitext(string.format('%02d', i))
label:wikitext(' ')
label:tag('span')
:addClass('tab-title')
:wikitext(args['title' .. i])
local content = tab:tag('div'):addClass('TabContentText')
content:tag('div')
:addClass('panel-title')
:css('color', '#000')
:css('font-weight', '500')
:css('font-size', '1.5em')
:wikitext('#' .. string.format('%02d', i) .. ' <b>' .. args['title' .. i] .. '</b>')
local intro = content:tag('div')
:addClass('panel-intro')
:css('border-radius', '1em')
:css('border', '2px solid #25B449')
:css('padding', '0.5em 0.7em')
:css('background-color', '#FFF')
if args.tabclass then
intro:addClass(args.tabclass)
end
if args['img' .. i] then
local imgContainer = intro:tag('div'):addClass('panel-images')
local images = mw.text.split(args['img' .. i], ',%s*')
for _, v in ipairs(images) do
imgContainer:tag('div')
:css('display', 'inline-block')
:css('overflow', 'hidden')
:css('border-radius', '8px')
:css('margin', '0 8px 8px 0')
:wikitext('[[File:' .. v .. '|' .. (args.imgsize or '150px') .. ']]')
end
end
intro:tag('div')
:addClass('panel-text')
:wikitext('\n' .. (args['story' .. i] or '') .. '\n')
i = i + 1
end
return wrapper
end
return p