Documentation for this module may be created at Module:Song versions line/doc
local getArgs = require('Module:Arguments').getArgs
local utils = require('Module:Utilities')
local yesno = require('Module:Yesno')
local p = {}
local characters = {
'hatsune miku', 'kagamine rin', 'kagamine len', 'megurine luka', 'meiko', 'kaito',
'hoshino ichika', 'tenma saki', 'mochizuki honami', 'hinomori shiho',
'hanasato minori', 'kiritani haruka', 'momoi airi', 'hinomori shizuku',
'azusawa kohane', 'shiraishi an', 'shinonome akito', 'aoyagi toya',
'tenma tsukasa', 'otori emu', 'kusanagi nene', 'kamishiro rui',
'yoisaki kanade', 'asahina mafuyu', 'shinonome ena', 'akiyama mizuki'
}
local function formatSingers(arg)
if arg and arg ~= '' then
local splits = utils.split(arg, ",")
for i=1,#splits do
splits[i] = utils.trim(splits[i])
if utils.array_index_of(characters, string.lower(splits[i])) ~= -1 then
splits[i] = '[[' .. splits[i] .. ']]'
end
end
return table.concat(splits, ", ")
end
return nil
end
local function formatFile(arg)
if arg and arg ~= '' then
return '[[' .. arg .. ']]'
end
return nil
end
function p.main(frame)
local args = getArgs(frame)
local root = mw.html.create('tr')
root:tag('td'):wikitext(args['version'])
root:tag('td'):wikitext(formatSingers(args['singers']))
root:tag('td'):wikitext(formatFile(args['audio']))
return tostring(root)
end
return p