Module:Infobox user
Documentation for this module may be created at Module:Infobox user/doc
local exports = {}
local predefinedKeys = {
'age',
'pronouns',
'x',
}
function exports.main(frame)
local args
if frame == mw.getCurrentFrame() then
args = frame:getParent().args
else
args = frame
end
local tableElement = mw.html.create('table')
tableElement
:css('float', 'right')
:css('text-align', 'left')
local categories = {}
for _, key in ipairs(predefinedKeys) do
if args[key] ~= nil then
keyText = mw.getContentLanguage():ucfirst(key)
value = args[key]
valueText = value
lowerValue = string.lower(value)
if key == 'pronouns' then
table.insert(categories, lowerValue)
end
if key == 'x' then
valueText = string.format(
'[https://twitter.com/%s @%s]',
valueText,
valueText
)
table.insert(categories, 'X users')
end
tableElement
:tag('tr')
:tag('th')
:wikitext(keyText)
:done()
:tag('td')
:wikitext(valueText)
:done()
:done()
end
end
returnValue = tostring(tableElement)
for _, category in ipairs(categories) do
returnValue = returnValue
.. '\n'
.. string.format('[[Category:%s]]', category)
end
return returnValue
end
return exports