Implements {{Contributors}}.
local messageBox = require('Module:Message box')
local p = {}
function p.argsToIndexedTable( args )
local newtable = {}
for k, v in pairs(args) do
local num = tonumber(k)
if num ~= nil then
newtable[num] = v
end
end
return newtable
end
function p.main( frame )
local fp = frame:getParent()
local contribs = p.argsToIndexedTable( fp.args )
local lang = mw.language.getContentLanguage()
local prefix = lang:convertPlural(
#contribs,
"The main author of this article is ",
"The main authors of this article are "
)
local suffix = '.'
local finalText = {
prefix..mw.text.listToText(contribs)..suffix,
}
if fp.args.extra then
table.insert(finalText, fp.args.extra)
end
local box = messageBox.main('fmbox', {
image='[[File:OOjs UI icon logo-cc.svg|40px]]',
text=table.concat(finalText, '\n')
})
return box
end
return p