Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Song versions line: Difference between revisions

From Sekaipedia
Content added Content deleted
(do not link if not in character list)
mNo edit summary
Line 16: Line 16:
local splits = utils.split(arg, ",")
local splits = utils.split(arg, ",")
for i=1,#splits do
for i=1,#splits do
if array_index_of(characters, splits[i]) ~= -1 then
if array_index_of(characters, string.lower(splits[i])) ~= -1 then
splits[i] = '[[' .. splits[i] .. ']]'
splits[i] = '[[' .. splits[i] .. ']]'
end
end

Revision as of 02:16, 9 August 2021

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',
}

local function formatSingers(arg)
	if arg and arg ~= '' then
		local splits = utils.split(arg, ",")
		for i=1,#splits do
			if 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
Cookies help us deliver our services. By using our services, you agree to our use of cookies.