跳转到内容
开关侧边栏
搜索
创建账号
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
玩法条目
界面
机制
旅程
Rating
解歌系统
版本更新日志
列表条目
定数表
曲目列表
曲包列表
曲师列表
谱师列表
画师列表
徽章列表
友情链接
Arcaea中文维基
工具
链入页面
相关更改
特殊页面
页面信息
查看“Module:Songtable”的源代码
模块
讨论
English
阅读
查看源代码
查看历史
更多
阅读
查看源代码
查看历史
←
Module:Songtable
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local p = {} local data = require("模块:Rotaeno Data") local getArgs = require('Module:Arguments').getArgs function toInteger(num) return num - num % 0.1 ^ 0 end function packName(name) if string.find(name, "%[") then return name else return "[["..name.."]]" end end function makeInvokeFunc(funcName) return function(frame) local args = getArgs(frame) return p[funcName](args) end end p.main = makeInvokeFunc('_main') function p._main(args) --生成HTML的主函数 -- 从参数或者页面名称读取曲目名称 local songName if args['曲名'] then songName = args['曲名'] else songName = 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 imageRowspan if query("source") then imageRowspan = 13 else imageRowspan = 12 end -- 分类表 local cat = {} -- 拼html,因为内容比较简单,就不像arcaeawiki一样写数据table了。 local box = mw.html.create("table"):addClass("rotable") box:tag("tr"):tag("th"):wikitext(query("title")):attr("colspan", "6") if query("title-list") then box:tag("tr"):tag("th"):wikitext(query("title-list")):attr("colspan", "6") end box:tag("tr"):tag("th"):wikitext("曲目信息"):attr("colspan", "5") :done():tag("td"):wikitext("[[File:Songs_"..query("id")..".png|256px]]"):attr("rowspan", imageRowspan) :css("height", "256px"):css("width", "256px") if args["曲包"] then box:tag("tr"):tag("td"):wikitext("曲包"):done():tag("td"):wikitext(packName(args["曲包"])):attr("colspan", "4") table.insert(cat, "[[分类:"..args["曲包"].."曲包曲目]]") else box:tag("tr"):tag("td"):wikitext("曲包"):done():tag("td"):attr("colspan", "4") end if args["曲师"] then box:tag("tr"):tag("td"):wikitext("曲师"):done():tag("td"):wikitext(args["曲师"]):attr("colspan", "4") else box:tag("tr"):tag("td"):wikitext("曲师"):done():tag("td"):wikitext(query("artist")):attr("colspan", "4") end if args["画师"] then box:tag("tr"):tag("td"):wikitext("谱师"):done():tag("td"):wikitext(args["谱师"]):attr("colspan", "4") else box:tag("tr"):tag("td"):wikitext("谱师"):done():tag("td"):wikitext(query("JacketDesigner")):attr("colspan", "4") end -- 来源有可能没有 if args["来源"] or query("source") then if args["来源"] then box:tag("tr"):tag("td"):wikitext("来源"):done():tag("td"):wikitext(args["来源"]):attr("colspan", "4") else box:tag("tr"):tag("td"):wikitext("来源"):done():tag("td"):wikitext(query("source")):attr("colspan", "4") end end box:tag("tr"):tag("td"):wikitext("时长"):done():tag("td"):wikitext(args["时长"]):attr("colspan", "4") box:tag("tr"):tag("th"):wikitext("谱面信息"):attr("colspan", "5") if args["谱师"] then box:tag("tr"):tag("td"):wikitext("谱师"):done():tag("td"):wikitext(args["谱师"]):attr("colspan", "4") else box:tag("tr"):tag("td"):wikitext("谱师"):done():tag("td"):wikitext(query("ChartDesigner")):attr("colspan", "4") end box:tag("tr"):tag("td"):wikitext("难度"):done() :tag("td"):wikitext("难度I"):css("color", "#43a047"):done() :tag("td"):wikitext("难度Ⅱ"):css("color", "#1565c0"):done() :tag("td"):wikitext("难度Ⅲ"):css("color", "#e65100"):done() :tag("td"):wikitext("难度Ⅳ"):css("color", "#ab47bc") if args["等级I"] and args["等级II"] and args["等级III"] and args["等级IV"] then box:tag("tr"):tag("td"):wikitext("等级"):done() -- 删除小数 :tag("td"):wikitext(args["等级I"]):done() :tag("td"):wikitext(args["等级II"]):done() :tag("td"):wikitext(args["等级III"]):done() :tag("td"):wikitext(args["等级IV"]) table.insert(cat, "[[分类:等级I中"..args["等级I"].."级曲目]]") table.insert(cat, "[[分类:等级II中"..args["等级II"].."级曲目]]") table.insert(cat, "[[分类:等级III中"..args["等级III"].."级曲目]]") table.insert(cat, "[[分类:等级IV中"..args["等级IV"].."级曲目]]") else box:tag("tr"):tag("td"):wikitext("等级"):done() -- 删除小数 :tag("td"):wikitext(toInteger(query("rating1"))):done() :tag("td"):wikitext(toInteger(query("rating2"))):done() :tag("td"):wikitext(toInteger(query("rating3"))):done() :tag("td"):wikitext(toInteger(query("rating4"))) if query("title") then table.insert(cat, "[[分类:等级I中"..toInteger(query("rating1")).."级曲目]]") table.insert(cat, "[[分类:等级II中"..toInteger(query("rating2")).."级曲目]]") table.insert(cat, "[[分类:等级III中"..toInteger(query("rating3")).."级曲目]]") table.insert(cat, "[[分类:等级IV中"..toInteger(query("rating4")).."级曲目]]") end end box:tag("tr"):tag("td"):wikitext("Note数量"):done() :tag("td"):wikitext(args["等级I物量"]):done() :tag("td"):wikitext(args["等级II物量"]):done() :tag("td"):wikitext(args["等级III物量"]):done() :tag("td"):wikitext(args["等级IV物量"]) box:tag("tr"):tag("td"):wikitext("更新时间"):done():tag("td"):wikitext(args["更新时间"]):attr("colspan", "4") if args["更新时间"] then table.insert(cat, "[[分类:时间"..toInteger(query("rating4")).."更新的曲目]]") end box:tag("tr"):tag("td"):wikitext("更新版本"):done():tag("td"):wikitext(args["更新版本"]):attr("colspan", "4") if args["更新版本"] then table.insert(cat, "[[分类:版本"..toInteger(query("rating4")).."更新的曲目]]") end return box end return p
本页使用的模板:
Module:Songtable/doc
(
查看源代码
)
返回
Module:Songtable
。