Module:Infobox Player: Difference between revisions
Appearance
m fixed a syntax error |
added basic category support |
||
| Line 8: | Line 8: | ||
function p.infobox(frame) | function p.infobox(frame) | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local outArgs = { title = args.username } | local outArgs = { title = args.username, category1 = args.category1 } | ||
local count = 0 | local count = 0 | ||
for key, val in pairs(args) do | for key, val in pairs(args) do | ||
if key ~= 'username' and val and val ~= '' then | if key ~= 'username' and val and val ~= '' and key ~= 'category1' then | ||
count = count + 1 | count = count + 1 | ||
outArgs['label'..count] = humanLabel(key) | outArgs['label'..count] = humanLabel(key) | ||
Revision as of 15:59, 21 June 2025
Documentation for this module may be created at Module:Infobox Player/doc
local infobox = require('Module:Infobox')
local p = {}
local function humanLabel(name)
return mw.ustring.gsub(mw.ustring.upper(mw.ustring.sub(name,1,1)) .. mw.ustring.sub(name,2), "%-", " ")
end
function p.infobox(frame)
local args = frame:getParent().args
local outArgs = { title = args.username, category1 = args.category1 }
local count = 0
for key, val in pairs(args) do
if key ~= 'username' and val and val ~= '' and key ~= 'category1' then
count = count + 1
outArgs['label'..count] = humanLabel(key)
outArgs['data' ..count] = val
end
end
outArgs.rows = count
return infobox.infobox{
getParent = function() return { args = outArgs } end
}
end
return p