Module:SongConstant:修订间差异
小 (页面标题解析修复(参见 rev 2778)) |
小 (IV-α) |
||
第31行: | 第31行: | ||
local box = mw.html.create("table"):addClass("rotable") | local box = mw.html.create("table"):addClass("rotable") | ||
box:tag("tr"):tag("th"):wikitext("难度I"):done() | -- 如果有alpha难度,表格要多一列。 | ||
local alpha = query("ratingA") | |||
local tag = box:tag("tr"):tag("th"):wikitext("难度I"):done() | |||
if args["难度I曲目定数"] and args["难度II曲目定数"] and args["难度III曲目定数"] and args["难度IV曲目定数"] | :tag("th"):wikitext("难度II"):done() | ||
:tag("th"):wikitext("难度III"):done() | |||
:tag("th"):wikitext("难度IV"):done() | |||
if alpha then tag:tag("th"):wikitext("难度IV-α"):done() end | |||
if args["难度I曲目定数"] and args["难度II曲目定数"] and args["难度III曲目定数"] and args["难度IV曲目定数"] and (not alpha and args["难度IV_Alpha曲目定数"]) | |||
then | then | ||
box:tag("tr"):tag("td"):wikitext(args["难度I曲目定数"]):done() | tag = box:tag("tr"):tag("td"):wikitext(args["难度I曲目定数"]):done() | ||
:tag("td"):wikitext(args["难度II曲目定数"]):done() | :tag("td"):wikitext(args["难度II曲目定数"]):done() | ||
:tag("td"):wikitext(args["难度III曲目定数"]):done() | :tag("td"):wikitext(args["难度III曲目定数"]):done() | ||
:tag("td"):wikitext(args["难度IV曲目定数"]) | :tag("td"):wikitext(args["难度IV曲目定数"]):done() | ||
if alpha then tag:tag("td"):wikitext(args["难度IV_Alpha曲目定数"]):done() end | |||
else | else | ||
box:tag("tr"):tag("td"):wikitext(query("rating1")):done() | tag = box:tag("tr"):tag("td"):wikitext(query("rating1")):done() | ||
:tag("td"):wikitext(query("rating2")):done() | :tag("td"):wikitext(query("rating2")):done() | ||
:tag("td"):wikitext(query("rating3")):done() | :tag("td"):wikitext(query("rating3")):done() | ||
:tag("td"):wikitext(query("rating4")) | :tag("td"):wikitext(query("rating4")):done() | ||
if alpha then tag:tag("td"):wikitext(query("ratingA")):done() end | |||
end | end | ||
2024年7月28日 (日) 14:38的最新版本
可在Module:SongConstant/doc创建此模块的帮助文档
local p = {} local data = require("模块:Rotaeno Data") local getArgs = require('Module:Arguments').getArgs function makeInvokeFunc(funcName) return function(frame) local args = getArgs(frame) return p[funcName](args) end end p.main = makeInvokeFunc('_main') function p._main(args) local songName if args['曲名'] then songName = args['曲名'] else songName = mw.text.decode(mw.getCurrentFrame():preprocess("{{FULLPAGENAME}}")) end -- 如果是从页面名读取的,那可能因为mediawiki限制导致页面名和曲名不符。如果有这个转换规则的话,使用转换JSON进行转换。 local covList = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate{ title = 'Transition.json' })["displayNameToSongName"] if covList[songName] then songName = covList[songName] end -- 生成查找函数。 local query = data.singleSongInformation(songName, "name") local box = mw.html.create("table"):addClass("rotable") -- 如果有alpha难度,表格要多一列。 local alpha = query("ratingA") local tag = box:tag("tr"):tag("th"):wikitext("难度I"):done() :tag("th"):wikitext("难度II"):done() :tag("th"):wikitext("难度III"):done() :tag("th"):wikitext("难度IV"):done() if alpha then tag:tag("th"):wikitext("难度IV-α"):done() end if args["难度I曲目定数"] and args["难度II曲目定数"] and args["难度III曲目定数"] and args["难度IV曲目定数"] and (not alpha and args["难度IV_Alpha曲目定数"]) then tag = box:tag("tr"):tag("td"):wikitext(args["难度I曲目定数"]):done() :tag("td"):wikitext(args["难度II曲目定数"]):done() :tag("td"):wikitext(args["难度III曲目定数"]):done() :tag("td"):wikitext(args["难度IV曲目定数"]):done() if alpha then tag:tag("td"):wikitext(args["难度IV_Alpha曲目定数"]):done() end else tag = box:tag("tr"):tag("td"):wikitext(query("rating1")):done() :tag("td"):wikitext(query("rating2")):done() :tag("td"):wikitext(query("rating3")):done() :tag("td"):wikitext(query("rating4")):done() if alpha then tag:tag("td"):wikitext(query("ratingA")):done() end end return box end return p