可在模块:Tabs/doc创建此模块的帮助文档
local p = {} function p.tabs(frame) local args = frame.args local tabs = {} local tabContents = {} local sortedArgs = {} for k, v in pairs(args) do if k:match("^tab%d+_title$") then local tabIndex = k:match("(%d+)") sortedArgs[tonumber(tabIndex)] = { title = v, info = args["tab" .. tabIndex .. "_info"] } end end for _, tabData in ipairs(sortedArgs) do tabs[#tabs + 1] = tostring(mw.html.create('span') :addClass('tab') :attr('data-tab', 'tab' .. #tabs + 1) :wikitext(tabData.title)) tabContents[#tabContents + 1] = tostring(mw.html.create('div') :addClass('tabContent') :attr('id', 'tab' .. #tabContents + 1) :wikitext(tabData.info)) end local container = mw.html.create('div') :addClass('tab-container') :wikitext(table.concat(tabs)) :wikitext(table.concat(tabContents)) return tostring(container) end return p