Module:沙盒/Economy666/SongCollectionMulti
可在Module:沙盒/Economy666/SongCollectionMulti/doc创建此模块的帮助文档
local mad = require 'Module:AnotherData'
local render = mw.html.create()
local p = {}
function p.main()
local version_song={}
local a2z = {}
for _, song in ipairs(mad.listOf('songs', 'mobile')) do
local id = song.id
if song.version then
if not version_song[song.version] then
version_song[song.version] = {}
table.insert(a2z, song.version)
end
version_song[song.version][song.title_localized.en]=id
end
end
function split(str, delimiter)
local result = {}
string.gsub(str, '[^'..delimiter..']+', function(w)
table.insert(result, w)
end)
return result
end
local function ver_sort(a,b)
local aa = split(a,'.')
local bb = split(b,'.')
local num_a=tonumber(aa[1])*100+tonumber(aa[2])
local num_b=tonumber(bb[1])*100+tonumber(bb[2])
return num_a>num_b
end
table.sort(a2z, ver_sort)
for _,ver in pairs(a2z) do
songs=version_song[ver]
render
:wikitext(('<h2>%s</h2>')
:format(ver))
:newline()
local wt = render:tag 'table'
wt:attr {class = 'wikitable', border = '1', cellspacing = '1', cellpadding = '5', style = 'text-align:center;width: 100%'}
:tag 'tr'
:tag 'th':attr {style = 'width: 50%;'}:wikitext '曲目名称':done()
:tag 'th':attr {style = 'width: 50%;'}:wikitext 'ID':done()
for name,id in pairs(songs) do
wt:tag 'tr'
:tag 'td':wikitext(name):done()
:tag 'td':wikitext(id):done()
end
end
return tostring(render)
end
return p