Module:Infobox

local p = {}

function p.main(frame) local c1, c2, title c1 = mw.text.trim(frame.args["color"] or "#ff8100") c2 = mw.text.trim(frame.args["text"] or "#000") title = frame.args["title"] local items = frame.args[1] if items ~= nil then items = mw.text.split(items, "\n") else items = {} end local result = {} table.insert(result, ' '.. title ..' ') local i = 1 local x = 1 local y = 2 local item = {} local parents = {} local resultItems = "" local resultSection = "" local resultForm = "" while items[i] do       item = mw.text.split(items[i], "//") if item[2] and mw.text.trim(item[1]) ~= "" and mw.text.trim(item[2]) ~= "" then x = 1 resultItems = "" while parents[x] do               resultItems = resultItems .. parents[x] x = x + 1 end y = 2 resultSection = mw.text.trim(item[1]) resultForm = item[2] or "N/A" resultExt = mw.text.trim(item[3] or "split") if resultExt == "label" or resultExt == "Label" then table.insert(result, ''.. resultSection ..' ') elseif resultExt == "expanded" or resultExt == "collapsed" then table.insert(result, ''.. resultSection ..' '.. resultForm ..' ') else table.insert(result, ''.. resultSection ..' '.. resultForm ..' ') end end i = i + 1 end table.insert(result, " ") return table.concat(result, "") end

return p