Module:Sandbox/ChaoticShadow/SongDataLine: Difference between revisions

From TestWiki
Content added Content deleted
No edit summary
No edit summary
 
(25 intermediate revisions by the same user not shown)
Line 3: Line 3:
local p = {}
local p = {}
local args = {}
local args = {}

local root = mw.html.create('table'):addClass('wikitable')


function p.main(frame)
function p.main(frame)
args = getArgs(frame)
args = getArgs(frame)


return mw.text.jsonEncode(args)
languages = {
{
name = "jp",
pattern = "^jp[0-9]+$",
lyrics = {}
},
{
name = "en",
pattern = "^en[0-9]+$",
lyrics = {}
}
}
for k,v in pairs(args) do
for _,lang in ipairs(languages) do
if string.match(k, lang.pattern) then
ind = tonumber(string.match(k, "[0-9]+"))
lang.lyrics[ind] = v
break
end
end
end
local maxLen = 0
for _,lang in pairs(languages) do
maxLen = math.max(maxLen, #lang.lyrics)
end
local _row = root:tag('tr')
for _,lang in ipairs(languages) do
_row:tag('th'):css('width', string.format("%d\%%", 100 / #languages)):wikitext(lang.name)
end
for i=1,maxLen,1 do
local _row = root:tag('tr')
local nextContent = nil
for _,lang in ipairs(languages) do
local content = 'temp'
if lang.lyrics[i] ~= "" then
content = lang.lyrics[i]
end
mw.log(content)
_row:tag('td'):wikitext(content)
nextContent = lang.lyrics[i+1] or nextContent
end
if nextContent == nil then
break
end
end

return tostring(root) .. mw.dumpObject(args) .. mw.dumpObject(languages)
end
end



Latest revision as of 04:19, 9 August 2021

Documentation for this module may be created at Module:Sandbox/ChaoticShadow/SongDataLine/doc

local getArgs = require('Module:Arguments').getArgs

local p = {}
local args = {}

function p.main(frame)
	args = getArgs(frame)

	return mw.text.jsonEncode(args)
end

return p