Module:Songtable:修订间差异
小无编辑摘要 |
小 (曲目信息 v1.2) |
||
第8行: | 第8行: | ||
end | end | ||
function | function dateCov(v,d,t,type) | ||
if not(v and d) then return nil end | if not(v and d) then return nil end | ||
local box,a,b,c = mw.html.create( 'div' ),mw.html.create( 'div' ),mw.html.create( 'div' ),mw.html.create( 'div' ) | local box,a,b,c = mw.html.create( 'div' ),mw.html.create( 'div' ),mw.html.create( 'div' ),mw.html.create( 'div' ) | ||
box:addClass( "date-box" ) | box:addClass( "date-box" ) | ||
a:wikitext(t) | a:wikitext(t) | ||
b:wikitext(v..'<br>'..'('..tostring(d)..')') | if type=="arg" | ||
then | |||
b:wikitext(v..'<br>'..'('..tostring(d)..')') | |||
else | |||
b:wikitext('v'..v..'<br>'..tostring(timeCov(d))) | |||
end | |||
box:wikitext(tostring(a)) | box:wikitext(tostring(a)) | ||
:wikitext(tostring(b)) | :wikitext(tostring(b)) | ||
:wikitext(tostring(c)) | :wikitext(tostring(c)) | ||
return tostring(box) | |||
return tostring(box) | |||
end | end | ||
第39行: | 第32行: | ||
return '[[:分类:采用'..bg..'背景的曲目|'..bg..']]' | return '[[:分类:采用'..bg..'背景的曲目|'..bg..']]' | ||
end | end | ||
end | |||
function bydMark(byd) | |||
local diff,mark = mw.html.create( 'div' ),mw.html.create( 'div' ) | |||
diff:wikitext('[Beyond]') | |||
mark:wikitext('only NS') | |||
if byd | |||
then | |||
return tostring(tostring(diff)..tostring(mark)) | |||
else | |||
return tostring(diff) | |||
end | |||
end | |||
function labelText(text,class) | |||
local span = mw.html.create( 'span' ) | |||
span:addClass( 'label-text' ) | |||
span:wikitext(text) | |||
return tostring(span) | |||
end | end | ||
第74行: | 第86行: | ||
container:wikitext(tostring(tab)) | container:wikitext(tostring(tab)) | ||
part1:wikitext('[[文件:'..pst..'|256px|none]]画师 | part1:wikitext('[[文件:'..pst..'|256px|none]]'..labelText(' 画师')..normalJacket) part2:wikitext('[[文件:'..prs..'|256px|none]]'..labelText(' 画师')..normalJacket) part3:wikitext('[[文件:'..ftr..'|256px|none]]'..labelText(' 画师')..normalJacket) | ||
part1:addClass('tab-text-'..type) part2:addClass('tab-text-'..type) part3:addClass('active tab-text-'..type) | part1:addClass('tab-text-'..type) part2:addClass('tab-text-'..type) part3:addClass('active tab-text-'..type) | ||
container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) container:wikitext(tostring(part3)) | container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) container:wikitext(tostring(part3)) | ||
第90行: | 第102行: | ||
container:wikitext(tostring(tab)) | container:wikitext(tostring(tab)) | ||
part1:wikitext('[[文件:'..all..'|256px|none]]画师 | part1:wikitext('[[文件:'..all..'|256px|none]]'..labelText(' 画师')..normalJacket) part2:wikitext('[[文件:'..byd..'|256px|none]]'..labelText(' 画师')..tostring(bydJacket)) | ||
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) | part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) | ||
container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) | container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) | ||
第106行: | 第118行: | ||
container:wikitext(tostring(tab)) | container:wikitext(tostring(tab)) | ||
part1:wikitext('[[文件:'..all..'|256px|none]]画师 | part1:wikitext('[[文件:'..all..'|256px|none]]'..labelText(' 画师')..normalJacket) part2:wikitext('[[文件:'..second..'|256px|none]]'..labelText(' 画师')..normalJacket) | ||
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) | part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) | ||
container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) | container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) | ||
第122行: | 第134行: | ||
container:wikitext(tostring(tab)) | container:wikitext(tostring(tab)) | ||
part1:wikitext('[[文件:Songs '..id..'.jpg|256px|none]]画师 | part1:wikitext('[[文件:Songs '..id..'.jpg|256px|none]]'..labelText(' 画师')..normalJacket) part2:wikitext('[[文件:Songs '..id..' byd.jpg|256px|none]]'..labelText(' 画师')..tostring(bydJacket)) | ||
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) | part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) | ||
container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) | container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) | ||
第131行: | 第143行: | ||
if id | if id | ||
then | then | ||
return '<div>[[文件:Songs '..id..'.jpg|256px|none]]画师 | return '<div>[[文件:Songs '..id..'.jpg|256px|none]]'..labelText(' 画师')..normalJacket..'</div>' | ||
end | end | ||
return '<div>[[文件:'..all..'|256px|none]]画师 | return '<div>[[文件:'..all..'|256px|none]]'..labelText(' 画师')..normalJacket..'</div>' | ||
end | end | ||
第274行: | 第286行: | ||
}, | }, | ||
[13]={ | [13]={ | ||
'谱面信息 | '谱面信息','',{ ['class']='header' } | ||
}, | }, | ||
[14]={ | [14]={ | ||
' | ' 难度','',{ ['class']='label' } | ||
}, | }, | ||
[15]={ | [15]={ | ||
' | '[Past]','',{ ['class']='pst-label' } | ||
}, | }, | ||
[16]={ | [16]={ | ||
'[ | '[Present]','',{ ['class']='prs-label' } | ||
}, | }, | ||
[17]={ | [17]={ | ||
'[ | '[Future]','',{ ['class']='ftr-label' } | ||
}, | }, | ||
[18]={ | [18]={ | ||
bydMark(byd),'',{ ['class']='byd-label' } | |||
}, | }, | ||
[19]={ | [19]={ | ||
' | ' 等级','',{ ['class']='label' } | ||
}, | }, | ||
[20]={ | [20]={ | ||
'等级','',{ ['class']=' | args['Past 等级'],data('pstRating'),{ ['class']='pst-data' } | ||
}, | }, | ||
[21]={ | [21]={ | ||
args[' | args['Present 等级'],data('prsRating'),{ ['class']='prs-data' } | ||
}, | }, | ||
[22]={ | [22]={ | ||
args[' | args['Future 等级'],data('ftrRating'),{ ['class']='ftr-data' } | ||
}, | }, | ||
[23]={ | [23]={ | ||
args[' | args['Beyond 等级'],data('bydRating'),{ ['class']='byd-data' } | ||
}, | }, | ||
[24]={ | [24]={ | ||
'note数量','',{ ['class']='label' } | |||
}, | }, | ||
[25]={ | [25]={ | ||
' | args['PastNote'],' 空',{ ['class']='pst-data' } | ||
}, | }, | ||
[26]={ | [26]={ | ||
args[' | args['PresentNote'],'空',{ ['class']='prs-data' } | ||
}, | }, | ||
[27]={ | [27]={ | ||
args[' | args['FutureNote'],'空',{ ['class']='ftr-data' } | ||
}, | }, | ||
[28]={ | [28]={ | ||
args[' | args['BeyondNote'],'空',{ ['class']='byd-data' } | ||
}, | }, | ||
[29]={ | [29]={ | ||
' 谱面设计','',{ ['class']='label' } | |||
}, | }, | ||
[30]={ | [30]={ | ||
chartDesigner[1],' 无',{ ['class']='pst-data' },span[1] | |||
}, | }, | ||
[31]={ | [31]={ | ||
chartDesigner[ | chartDesigner[2],'无',{ ['class']='prs-data' },span[2] | ||
}, | }, | ||
[32]={ | [32]={ | ||
chartDesigner[ | chartDesigner[3],'无',{ ['class']='ftr-data' },span[3] | ||
}, | }, | ||
[33]={ | [33]={ | ||
chartDesigner[ | chartDesigner[4],'无',{ ['class']='byd-data' },span[4] | ||
}, | }, | ||
[34]={ | [34]={ | ||
'谱面信息(Joy-Con)','',{ ['class']='header ns',['id']='ns-play-header' } | |||
}, | }, | ||
[35]={ | [35]={ | ||
' | ' 难度','',{ ['class']='label ns' } | ||
}, | }, | ||
[36]={ | [36]={ | ||
' | '[Past]','',{ ['class']='pst-label ns' } | ||
}, | }, | ||
[37]={ | [37]={ | ||
'[ | '[Present]','',{ ['class']='prs-label ns' } | ||
}, | }, | ||
[38]={ | [38]={ | ||
'[ | '[Future]','',{ ['class']='ftr-label ns' } | ||
}, | }, | ||
[39]={ | [39]={ | ||
bydMark(byd),'',{ ['class']='byd-label ns' } | |||
}, | }, | ||
--[[ 暂时无用部分,如有用则启用 | |||
[41]={ | [41]={ | ||
'等级','',{ ['class']='label ns' } | '等级','',{ ['class']='label ns' } | ||
第371行: | 第381行: | ||
[45]={ | [45]={ | ||
args['Beyond等级NS'],'无',{ ['class']='byd-data ns' } | args['Beyond等级NS'],'无',{ ['class']='byd-data ns' } | ||
}, | }, ]]-- | ||
[ | [40]={ | ||
'note数量','',{ ['class']='label ns' } | 'note数量','',{ ['class']='label ns' } | ||
}, | }, | ||
[ | [41]={ | ||
args['PastNoteNS'],args['PastNote'],{ ['class']='pst-data ns' } | args['PastNoteNS'],args['PastNote'],{ ['class']='pst-data ns' } | ||
}, | }, | ||
[ | [42]={ | ||
args['PresentNoteNS'],args['PresentNote'],{ ['class']='prs-data ns' } | args['PresentNoteNS'],args['PresentNote'],{ ['class']='prs-data ns' } | ||
}, | }, | ||
[ | [43]={ | ||
args['FutureNoteNS'],args['FutureNote'],{ ['class']='ftr-data ns' } | args['FutureNoteNS'],args['FutureNote'],{ ['class']='ftr-data ns' } | ||
}, | }, | ||
[ | [44]={ | ||
args['BeyondNoteNS'],'无',{ ['class']='byd-data ns' } | args['BeyondNoteNS'],'无',{ ['class']='byd-data ns' } | ||
}, | }, | ||
--[[ 暂时无用部分,如有用则启用 | |||
[51]={ | [51]={ | ||
'谱面设计','',{ ['class']='label ns' } | '谱面设计','',{ ['class']='label ns' } | ||
第401行: | 第412行: | ||
[55]={ | [55]={ | ||
args['BeyondNote编写NS'],'无',{ ['class']='byd-data ns' },spanNs[4] | args['BeyondNote编写NS'],'无',{ ['class']='byd-data ns' },spanNs[4] | ||
}, | }, ]]-- | ||
[ | [45]={ | ||
'背景','',{ ['class']='label' } | '背景','',{ ['class']='label' } | ||
}, | }, | ||
[ | [46]={ | ||
bgCov(args['背景']),bgCov(data('bg')),{ ['class']='data' } | bgCov(args['背景']),bgCov(data('bg')),{ ['class']='data' } | ||
}, | }, | ||
[ | [47]={ | ||
'更新时间','',{ ['id']='update-data-label',['class']='label' } | '更新时间','',{ ['id']='update-data-label',['class']='label' } | ||
}, | }, | ||
[ | [48]={ | ||
dateCov(args['更新版本'] , args['更新时间'] , labelText('移动版') , 'arg' ) , dateCov( data('version') , tonumber(data('date')) , labelText('移动版') , 'data' ) ,{ ['id']='mobile-date-normal',['class']='data'} | |||
}, | }, | ||
[ | [49]={ | ||
dateCov(args['Beyond更新版本'] , args['Beyond更新时间'] ,'' , 'arg' ) ,'空',{ ['id']='mobile-date-byd',['class']='data'} | |||
}, | }, | ||
[ | [50]={ | ||
dateCov(args['更新版本NS'] , args['更新时间NS'] , labelText('NS版') , 'arg' ),dateCov('v1.0.0c' ,'2021/05/18' , labelText('NS版') , 'arg' ),{ ['id']='ns-date-normal',['class']='data ns'} | |||
}, | }, | ||
[ | [51]={ | ||
'无','',{ ['id']='ns-date-byd',['class']='data ns'} | '无','',{ ['id']='ns-date-byd',['class']='data ns'} | ||
} | } | ||
第426行: | 第437行: | ||
local box = mw.html.create( 'div' ) | local box = mw.html.create( 'div' ) | ||
--样式控制 | |||
box:addClass( "songbox" ) | box:addClass( "songbox" ) | ||
if byd then box:addClass( "byd" ) end | if byd then box:addClass( "byd" ) end | ||
if dataNs('side')==1 or args['侧']=='1' then box:addClass( "conflict" ) else box:addClass( "light" ) end | if dataNs('side')==1 or args['侧']=='1' then box:addClass( "conflict" ) else box:addClass( "light" ) end | ||
if args['更新版本NS'] or dataNs('id') | if args['更新版本NS'] or dataNs('id') | ||
then | then | ||
box:addClass( "ns-box" ) | box:addClass( "ns-box" ) | ||
if not( dataNs('pstChange') or dataNs('prsChange') or dataNs('ftrChange') or byd ) | if not( dataNs('pstChange') or dataNs('prsChange') or dataNs('ftrChange') ) --(or byd) -- bdy单独分栏禁用 | ||
then | then | ||
box:addClass( "ns-same" ) | box:addClass( "ns-same" ) | ||
end | end | ||
end | |||
if args['Beyond更新版本'] and args['Beyond更新时间'] then box:addClass( 'mobile-byd-date' ) end | |||
if args['曲名']=='Tempestissimo' then box:addClass( 'ns-byd-date' ) box:addClass( 'ns-date-span' ) end | |||
--分类添加 | |||
if args['更新版本NS'] or dataNs('id') | |||
then | |||
category=category..'[[分类:双模式曲目]]' | category=category..'[[分类:双模式曲目]]' | ||
else | else | ||
category=category..'[[分类:仅触摸模式曲目]]' | category=category..'[[分类:仅触摸模式曲目]]' | ||
end | end | ||
if dataNs('pstChange') or dataNs('prsChange') or dataNs('ftrChange') then category=category..'[[分类:多模式谱面有差异的曲目]]' end | if dataNs('pstChange') or dataNs('prsChange') or dataNs('ftrChange') then category=category..'[[分类:多模式谱面有差异的曲目]]' end | ||
if args['nocat'] then category='' end | if args['nocat'] then category='' end | ||
--表格生成 | |||
local boxList={} | local boxList={} | ||
2021年7月15日 (四) 19:17的版本
可在Module:Songtable/doc创建此模块的帮助文档
local getArgs = require('Module:Arguments').getArgs
local link = require('Module:Link')._link
local getData = require("Module:data")
local p = {}
function timeCov(t)
return os.date("(%Y/%m/%d)", t)
end
function dateCov(v,d,t,type)
if not(v and d) then return nil end
local box,a,b,c = mw.html.create( 'div' ),mw.html.create( 'div' ),mw.html.create( 'div' ),mw.html.create( 'div' )
box:addClass( "date-box" )
a:wikitext(t)
if type=="arg"
then
b:wikitext(v..'<br>'..'('..tostring(d)..')')
else
b:wikitext('v'..v..'<br>'..tostring(timeCov(d)))
end
box:wikitext(tostring(a))
:wikitext(tostring(b))
:wikitext(tostring(c))
return tostring(box)
end
function bgCov(bg)
if bg==nil
then
return nil
else
return '[[:分类:采用'..bg..'背景的曲目|'..bg..']]'
end
end
function bydMark(byd)
local diff,mark = mw.html.create( 'div' ),mw.html.create( 'div' )
diff:wikitext('[Beyond]')
mark:wikitext('only NS')
if byd
then
return tostring(tostring(diff)..tostring(mark))
else
return tostring(diff)
end
end
function labelText(text,class)
local span = mw.html.create( 'span' )
span:addClass( 'label-text' )
span:wikitext(text)
return tostring(span)
end
function getImage(id,all,pst,prs,ftr,byd,second,normalJacketArgs,bydJacketArgs,normalJacketData,bydJacketData,bydyes,type)
local container,tab=mw.html.create('div'),mw.html.create('div')
local tab1,tab2,tab3,part1,part2,part3,jacket1,jacket2
container:addClass( 'container' )
tab:attr( 'id','tab-'..type ) tab:addClass( 'img-tab' )
local normalJacket,bydJacket
if normalJacketArgs
then
if bydJacketArgs
then
normalJacket,bydJacket=normalJacketArgs,bydJacketArgs
else
normalJacket,bydJacket=normalJacketArgs,normalJacketArgs
end
else
if normalJacketData=="" or normalJacketData==nil
then
normalJacket,bydJacket='未知','未知'
else
normalJacket,bydJacket=link({'画师',tostring(normalJacketData)}),link({'画师',tostring(bydJacketData)})
end
end
if pst and prs and ftr
then
tab1,tab2,tab3,part1,part2,part3=mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div')
tab1:wikitext('Past') tab2:wikitext('Present') tab3:wikitext('Future')
tab1:addClass('img-tab-part pst') tab2:addClass('img-tab-part prs') tab3:addClass('img-tab-part ftr')
tab:wikitext(tostring(tab1)) tab:wikitext(tostring(tab2)) tab:wikitext(tostring(tab3))
container:wikitext(tostring(tab))
part1:wikitext('[[文件:'..pst..'|256px|none]]'..labelText('画师')..normalJacket) part2:wikitext('[[文件:'..prs..'|256px|none]]'..labelText('画师')..normalJacket) part3:wikitext('[[文件:'..ftr..'|256px|none]]'..labelText('画师')..normalJacket)
part1:addClass('tab-text-'..type) part2:addClass('tab-text-'..type) part3:addClass('active tab-text-'..type)
container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) container:wikitext(tostring(part3))
return tostring(container)
end
if byd
then
tab1,tab2,part1,part2=mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div')
tab1:wikitext('Normal') tab2:wikitext('Beyond')
tab1:addClass('img-tab-part normal') tab2:addClass('img-tab-part byd')
tab:wikitext(tostring(tab1)) tab:wikitext(tostring(tab2))
container:wikitext(tostring(tab))
part1:wikitext('[[文件:'..all..'|256px|none]]'..labelText('画师')..normalJacket) part2:wikitext('[[文件:'..byd..'|256px|none]]'..labelText('画师')..tostring(bydJacket))
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type)
container:wikitext(tostring(part1)) container:wikitext(tostring(part2))
return tostring(container)
end
if second
then
tab1,tab2,part1,part2=mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div')
tab1:wikitext('第一曲绘') tab2:wikitext('第二曲绘')
tab1:addClass('img-tab-part normal') tab2:addClass('img-tab-part normal')
tab:wikitext(tostring(tab1)) tab:wikitext(tostring(tab2))
container:wikitext(tostring(tab))
part1:wikitext('[[文件:'..all..'|256px|none]]'..labelText('画师')..normalJacket) part2:wikitext('[[文件:'..second..'|256px|none]]'..labelText('画师')..normalJacket)
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type)
container:wikitext(tostring(part1)) container:wikitext(tostring(part2))
return tostring(container)
end
if id and bydyes
then
tab1,tab2,part1,part2=mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div')
tab1:wikitext('Normal') tab2:wikitext('Beyond')
tab1:addClass('img-tab-part normal') tab2:addClass('img-tab-part byd')
tab:wikitext(tostring(tab1)) tab:wikitext(tostring(tab2))
container:wikitext(tostring(tab))
part1:wikitext('[[文件:Songs '..id..'.jpg|256px|none]]'..labelText('画师')..normalJacket) part2:wikitext('[[文件:Songs '..id..' byd.jpg|256px|none]]'..labelText('画师')..tostring(bydJacket))
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type)
container:wikitext(tostring(part1)) container:wikitext(tostring(part2))
return tostring(container)
end
if id
then
return '<div>[[文件:Songs '..id..'.jpg|256px|none]]'..labelText('画师')..normalJacket..'</div>'
end
return '<div>[[文件:'..all..'|256px|none]]'..labelText('画师')..normalJacket..'</div>'
end
function merge(list)
local merge
if list[4] then merge={1,1,1,1} else merge={1,1,1} end
local o
if list[4] then o=4 else o=3 end
if list[4] then
if list[4]==list[3] then merge[3]=merge[3]+merge[4] merge[4]=0 end
end
if list[3]==list[2] then merge[2]=merge[2]+merge[3] merge[3]=0 end
if list[2]==list[1] then merge[1]=merge[1]+merge[2] merge[2]=0 end
for i=1,o do
if merge[i]==0 then
merge[i]='display:none'
else
merge[i]='grid-column-start: span '..merge[i]..';'
end
end
return merge
end
function re0()
return nil
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local category=''
local data,dataNs
local argsLength = 0
for _,_ in pairs(args) do argsLength=argsLength+1 end
if argsLength>=16
then
data,dataNs=re0,getData.getNS(args['曲名'])
else
data,dataNs=getData.getMobile(args['曲名']),getData.getNS(args['曲名'])
end
local byd
if args['Beyond等级'] or data('bydRating') then byd=true else byd=false end
local getChartDesigner={
[1]={ 'mobile' , 'PastNote编写' , 'note编写' , 'pstChartDesigner' },
[2]={ 'mobile' , 'PresentNote编写' , 'note编写' , 'prsChartDesigner' },
[3]={ 'mobile' , 'FutureNote编写' , 'note编写' , 'ftrChartDesigner' },
[4]={ 'mobile' , 'BeyondNote编写' , 'note编写' , 'bydChartDesigner' },
[5]={ 'ns' , 'PastNote编写NS' , 'note编写NS' , 'pstChartDesigner' },
[6]={ 'ns' , 'PresentNote编写NS' , 'note编写NS' , 'prsChartDesigner' },
[7]={ 'ns' , 'FutureNote编写NS' , 'note编写NS' , 'ftrChartDesigner' }
}
local chartDesigner={}
for i,k in ipairs(getChartDesigner)
do
if args[k[2]]
then
chartDesigner[i]=args[k[2]]
else
if args[k[3]]
then
chartDesigner[i]=args[k[3]]
else
if chartDesigner[i-1] and argsLength>=16 and i~=5 and i~=6 and i~=7
then
chartDesigner[i]=chartDesigner[i-1]
else
if k[1]=='mobile'
then
chartDesigner[i]=link({ '谱师',tostring(data(k[4])) })
else
chartDesigner[i]=link({ '谱师',tostring(dataNs(k[4])) })
end
end
end
end
end
local span,spanNs
if byd then
span=merge({ chartDesigner[1],chartDesigner[2],chartDesigner[3],chartDesigner[4] })
else
span=merge({ chartDesigner[1],chartDesigner[2],chartDesigner[3] })
end
spanNs=merge({ chartDesigner[1],chartDesigner[2],chartDesigner[3] })
if args['曲名']=='Tempestissimo' then spanNs={'grid-column-start: span 1','grid-column-start: span 1','grid-column-start: span 1','grid-column-start: span 1'} end
local imageA=getImage(data('id'),args['图片'],args['Past曲绘'],args['Present曲绘'],args['Future曲绘'],args['Beyond曲绘'],args['第二曲绘图片'],args['画师'],args['Beyond画师'],data('ftrJacketDesigner'),data('bydJacketDesigner'),byd,'a')
local imageB=getImage(data('id'),args['图片'],args['Past曲绘'],args['Present曲绘'],args['Future曲绘'],args['Beyond曲绘'],args['第二曲绘图片'],args['画师'],args['Beyond画师'],data('ftrJacketDesigner'),data('bydJacketDesigner'),byd,'b')
local infoList={
[1]={
args['曲名'],data('title'),{ ['id']='title' }
},
[2]={
imageA,'image',{ ['id']='top-image' }
},
[3]={
imageB,'image',{ ['id']='right-image' }
},
[4]={
'曲目信息','',{ ['class']='header' }
},
[5]={
'曲师','',{ ['class']='label' }
},
[6]={
args['编曲'],link({ '曲师',tostring(data('artist')) }),{ ['class']='data' }
},
[7]={
'曲包','',{ ['class']='label' }
},
[8]={
args['曲包'],getData.pack({data('set')}),{ ['class']='data' }
},
[9]={
'时长','',{ ['class']='label' }
},
[10]={
args['时长'],'空',{ ['class']='data' }
},
[11]={
'BPM','',{ ['class']='label' }
},
[12]={
args['BPM'],data('bpm'),{ ['class']='data' }
},
[13]={
'谱面信息','',{ ['class']='header' }
},
[14]={
'难度','',{ ['class']='label' }
},
[15]={
'[Past]','',{ ['class']='pst-label' }
},
[16]={
'[Present]','',{ ['class']='prs-label' }
},
[17]={
'[Future]','',{ ['class']='ftr-label' }
},
[18]={
bydMark(byd),'',{ ['class']='byd-label' }
},
[19]={
'等级','',{ ['class']='label' }
},
[20]={
args['Past等级'],data('pstRating'),{ ['class']='pst-data' }
},
[21]={
args['Present等级'],data('prsRating'),{ ['class']='prs-data' }
},
[22]={
args['Future等级'],data('ftrRating'),{ ['class']='ftr-data' }
},
[23]={
args['Beyond等级'],data('bydRating'),{ ['class']='byd-data' }
},
[24]={
'note数量','',{ ['class']='label' }
},
[25]={
args['PastNote'],'空',{ ['class']='pst-data' }
},
[26]={
args['PresentNote'],'空',{ ['class']='prs-data' }
},
[27]={
args['FutureNote'],'空',{ ['class']='ftr-data' }
},
[28]={
args['BeyondNote'],'空',{ ['class']='byd-data' }
},
[29]={
'谱面设计','',{ ['class']='label' }
},
[30]={
chartDesigner[1],'无',{ ['class']='pst-data' },span[1]
},
[31]={
chartDesigner[2],'无',{ ['class']='prs-data' },span[2]
},
[32]={
chartDesigner[3],'无',{ ['class']='ftr-data' },span[3]
},
[33]={
chartDesigner[4],'无',{ ['class']='byd-data' },span[4]
},
[34]={
'谱面信息(Joy-Con)','',{ ['class']='header ns',['id']='ns-play-header' }
},
[35]={
'难度','',{ ['class']='label ns' }
},
[36]={
'[Past]','',{ ['class']='pst-label ns' }
},
[37]={
'[Present]','',{ ['class']='prs-label ns' }
},
[38]={
'[Future]','',{ ['class']='ftr-label ns' }
},
[39]={
bydMark(byd),'',{ ['class']='byd-label ns' }
},
--[[ 暂时无用部分,如有用则启用
[41]={
'等级','',{ ['class']='label ns' }
},
[42]={
args['Past等级NS'],dataNs('pstRating'),{ ['class']='pst-data ns' }
},
[43]={
args['Present等级NS'],dataNs('prsRating'),{ ['class']='prs-data ns' }
},
[44]={
args['Future等级NS'],dataNs('ftrRating'),{ ['class']='ftr-data ns' }
},
[45]={
args['Beyond等级NS'],'无',{ ['class']='byd-data ns' }
}, ]]--
[40]={
'note数量','',{ ['class']='label ns' }
},
[41]={
args['PastNoteNS'],args['PastNote'],{ ['class']='pst-data ns' }
},
[42]={
args['PresentNoteNS'],args['PresentNote'],{ ['class']='prs-data ns' }
},
[43]={
args['FutureNoteNS'],args['FutureNote'],{ ['class']='ftr-data ns' }
},
[44]={
args['BeyondNoteNS'],'无',{ ['class']='byd-data ns' }
},
--[[ 暂时无用部分,如有用则启用
[51]={
'谱面设计','',{ ['class']='label ns' }
},
[52]={
chartDesigner[5],chartDesigner[1],{ ['class']='pst-data ns' },spanNs[1]
},
[53]={
chartDesigner[6],chartDesigner[2],{ ['class']='prs-data ns' },spanNs[2]
},
[54]={
chartDesigner[7],chartDesigner[3],{ ['class']='ftr-data ns' },spanNs[3]
},
[55]={
args['BeyondNote编写NS'],'无',{ ['class']='byd-data ns' },spanNs[4]
}, ]]--
[45]={
'背景','',{ ['class']='label' }
},
[46]={
bgCov(args['背景']),bgCov(data('bg')),{ ['class']='data' }
},
[47]={
'更新时间','',{ ['id']='update-data-label',['class']='label' }
},
[48]={
dateCov(args['更新版本'] , args['更新时间'] , labelText('移动版') , 'arg' ) , dateCov( data('version') , tonumber(data('date')) , labelText('移动版') , 'data' ) ,{ ['id']='mobile-date-normal',['class']='data'}
},
[49]={
dateCov(args['Beyond更新版本'] , args['Beyond更新时间'] ,'' , 'arg' ) ,'空',{ ['id']='mobile-date-byd',['class']='data'}
},
[50]={
dateCov(args['更新版本NS'] , args['更新时间NS'] , labelText('NS版') , 'arg' ),dateCov('v1.0.0c' ,'2021/05/18' , labelText('NS版') , 'arg' ),{ ['id']='ns-date-normal',['class']='data ns'}
},
[51]={
'无','',{ ['id']='ns-date-byd',['class']='data ns'}
}
}
local box = mw.html.create( 'div' )
--样式控制
box:addClass( "songbox" )
if byd then box:addClass( "byd" ) end
if dataNs('side')==1 or args['侧']=='1' then box:addClass( "conflict" ) else box:addClass( "light" ) end
if args['更新版本NS'] or dataNs('id')
then
box:addClass( "ns-box" )
if not( dataNs('pstChange') or dataNs('prsChange') or dataNs('ftrChange') ) --(or byd) -- bdy单独分栏禁用
then
box:addClass( "ns-same" )
end
end
if args['Beyond更新版本'] and args['Beyond更新时间'] then box:addClass( 'mobile-byd-date' ) end
if args['曲名']=='Tempestissimo' then box:addClass( 'ns-byd-date' ) box:addClass( 'ns-date-span' ) end
--分类添加
if args['更新版本NS'] or dataNs('id')
then
category=category..'[[分类:双模式曲目]]'
else
category=category..'[[分类:仅触摸模式曲目]]'
end
if dataNs('pstChange') or dataNs('prsChange') or dataNs('ftrChange') then category=category..'[[分类:多模式谱面有差异的曲目]]' end
if args['nocat'] then category='' end
--表格生成
local boxList={}
for i,o in ipairs(infoList) do
boxList[i] = mw.html.create( 'div' )
boxList[i]
:attr( infoList[i][3] )
:cssText( infoList[i][4] )
if infoList[i][1]
then
boxList[i]:wikitext( infoList[i][1] )
else
boxList[i]:wikitext( infoList[i][2] )
end
box:wikitext(tostring(boxList[i]))
end
return tostring(box)..category
end
return p