更多操作
创建页面,内容为“-- Source: https://dontstarve.huijiwiki.com/index.php?title=%E6%A8%A1%E5%9D%97:RichTab local getArgs = require('Module:Arguments').getArgs local p = {} function p.render(frame) local args = getArgs(frame) local tabParams = p.parseTabParams(args) if #tabParams == 0 then return '' end local class = args.class or 'tablist-default' local onClass = 'active' local html = mw.html.create('div'):addClass('tabber richtab')…” |
(没有差异)
|
2025年3月12日 (三) 16:24的最新版本
此模块的文档可以在模块:RichTab/doc创建
-- Source: https://dontstarve.huijiwiki.com/index.php?title=%E6%A8%A1%E5%9D%97:RichTab
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.render(frame)
local args = getArgs(frame)
local tabParams = p.parseTabParams(args)
if #tabParams == 0 then
return ''
end
local class = args.class or 'tablist-default'
local onClass = 'active'
local html = mw.html.create('div'):addClass('tabber richtab')
local header = html:tag('ul'):addClass('nav tabber-filter ' .. class):attr('role', 'tablist')
local headerType = args.prefix or 'richtab'
local current = tonumber(args.active) or 1
for tabIndex, tabItem in ipairs(tabParams) do
local li = header:tag('li'):addClass('tabber-filter-item' .. (tabIndex == current and ' ' .. onClass or ''))
:attr('data-type', headerType):attr('data-' .. headerType, tabIndex):wikitext(tabItem.header)
end
local content = html:tag('div'):addClass('tab-content tabber-content')
if args.is_getstrings then
content = content:addClass('tabcontent-default')
end
for tabIndex, tabItem in ipairs(tabParams) do
local div = content:tag('div'):addClass('tab-pane tabber-item'):attr('data-' .. headerType, tabIndex)
div:wikitext(tabItem.content)
end
return html
end
function p.parseTabParams(args)
local index = 1
local parsedParams = {}
while args[index] ~= nil and args[index + 1] ~= nil do
table.insert(parsedParams, {
header = args[index],
content = args[index + 1],
})
index = index + 2
end
return parsedParams
end
return p