LLWiki正在建设中,欢迎加入我们!
“模块:Tracklist”的版本间差异
跳转到导航
跳转到搜索
小 标签:移动版网页编辑 移动版编辑 |
小 标签:移动版网页编辑 移动版编辑 |
||
第1行: | 第1行: | ||
local p = {} |
local p = {} |
||
local getArgs = require("module:arguments").getArgs |
|||
function langWrap(text) |
function langWrap(text) |
||
⚫ | |||
⚫ | |||
for k, v in ipairs(mw.text.split(text, "、")) do |
|||
⚫ | |||
⚫ | |||
result = result..v |
|||
⚫ | |||
⚫ | |||
⚫ | |||
end |
end |
||
⚫ | |||
⚫ | |||
end |
end |
||
function p.main(frame) |
function p.main(frame) |
||
local args = |
local args = getArgs(frame) |
||
⚫ | |||
local ljcols = 1 + |
|||
if args.all_writing then |
|||
(args.lyrics_credits and 1 or 0) + |
|||
⚫ | |||
(args.music_credits and 1 or 0) + |
|||
⚫ | |||
(args.arranger_credits and 1 or 0) |
|||
if args.all_music then |
|||
local ncols = ljcols + |
|||
⚫ | |||
(args.singer_credits and 1 or 0) + |
|||
end |
|||
(args.extra_column and 1 or 0) + |
|||
if args.all_lyrics then |
|||
(args.longnote_column and 1 or 0) + |
|||
info = info.."全碟-{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-:"..langWrap(args.all_lyrics).." " |
|||
(args.length and 1 or 0) |
|||
end |
|||
if args.all_arranger then |
|||
local info = (args.all_writing and ("全碟-{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-及作曲:"..langWrap(args.all_writing).." ") or "") .. |
|||
⚫ | |||
end |
|||
⚫ | |||
if args.all_singer then |
|||
(args.all_arranger and ("全碟编曲:"..langWrap(args.all_arranger).." ") or "") .. |
|||
(args.all_singer and ("全碟演唱:"..langWrap(args.all_singer).." ") or "") .. |
|||
end |
|||
((args.all_note == "except" or args.all_note == "yes") and "<small>(下面注明例外曲目)</small>" or (args.all_note or '')) .. |
|||
⚫ | |||
info = info.."<small>(下面注明例外曲目)</small>" |
|||
⚫ | |||
local wikitext = "<div class=\"tracklist" .. |
|||
info = info..(args.all_note or '') |
|||
(args.length and " tracklist-length" or "") .. |
|||
end |
|||
"\" style=\"min-width:calc(100% - "..(args.reserve_width or "300px")..");"..(args.collapsed and "border:#aaa 1px solid;" or "").."\">\n" .. |
|||
⚫ | |||
"{|"..(args.collapsed and "class=\"mw-collapsible"..((args.collapsed == "closed" or args.collapsed == "yes") and " mw-collapsed" or "").."\"" or "").."\n" .. |
|||
"!colspan=9|"..(args.headline or "曲目列表")..(info == "" and "" or ("<div style=\"font-weight:normal\">"..info.."</div>")).."\n" .. |
|||
⚫ | |||
"!曲序!!曲目"..(args.lyrics_credits and "!! -{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-" or "")..(args.music_credits and "!! 作曲" or "")..(args.arranger_credits and "!! 编曲" or "")..(args.singer_credits and "!! 演唱" or "")..(args.extra_column and "!!"..args.extra_column or "")..(args.longnote_column and "!! 备注" or "")..(args.length and "!! style=\"width:3em\" | 时长" or "") |
|||
return |
return wikitext |
||
end |
end |
||
--[[ |
|||
--[[{#vardefine:ljcols |
|||
|{{#expr:1 {{#if:{{{lyrics_credits|}}}|+1}} {{#if:{{{music_credits|}}}|+1}} {{#if:{{{arranger_credits|}}}|+1}} }}}}<!-- |
|||
-->{{#vardefine:ncols |
|||
|{{#expr:{{#var:ljcols}} {{#if:{{{singer_credits|}}}|+1}} {{#if:{{{extra_column|}}}|+1}} {{#if:{{{longnote_column|}}}|+1}} {{#if:{{{length|}}}|+1}} }}}}<!-- |
|||
--><div class="tracklist {{#if:{{{length|}}}|tracklist-length|}}" style="min-width: calc(100% - {{{reserve_width|300px}}}); {{#switch:{{{collapsed|}}}|open|closed|yes = border: #aaa 1px solid;}}"> |
|||
{| class="{{#switch:{{{collapsed|}}}|closed|yes = mw-collapsible mw-collapsed|open = mw-collapsible}}" |
|||
! colspan="9" | {{#if:{{{headline|}}}|{{{headline}}} |曲目列表 }}<!-- 左边是headline,右边是全碟参数 -->{{#if:{{#var:info|}}|<div style="font-weight: normal;">{{#var:info}}</div>}} |
|||
⚫ | |||
! 曲序 !! 曲目<!-- |
|||
-->{{#if:{{{lyrics_credits|}}}|!! -{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-}}<!-- |
|||
-->{{#if:{{{music_credits|}}}|!! 作曲}}<!-- |
|||
-->{{#if:{{{arranger_credits|}}}|!! 编曲}}<!-- |
|||
-->{{#if:{{{singer_credits|}}}|!! 演唱}}<!-- |
|||
-->{{#if:{{{extra_column|}}} |!! {{{extra_column}}}}}<!-- |
|||
-->{{#if:{{{longnote_column|}}}|!! 备注}}<!-- |
|||
-->{{#if:{{{length|}}} |!! style="width:3em" {{!}} 时长}}<!-- |
|||
-->{{#fornumargs:|key|val |
-->{{#fornumargs:|key|val |
||
|{{#switch:{{#vardefineecho:rval|{{#expr: ({{#var:key}} - 1) mod {{#var:ncols}} }}}} |
|{{#switch:{{#vardefineecho:rval|{{#expr: ({{#var:key}} - 1) mod {{#var:ncols}} }}}} |
2020年9月26日 (六) 10:59的版本
模块文档
这个文档嵌入自模块:Tracklist/doc。
这个模板用于表示专辑收录曲目。
参数说明
总参数 | |
---|---|
headline | 列表标题 |
collapsed | 可选参数,非空时该模板可折叠,yes/closed时初始状态默认折叠 |
lyrics_credits | 非空时添加作词一栏 |
music_credits | 非空时添加作曲一栏 |
arranger_credits | 非空时添加编曲一栏 |
singer_credits | 非空时添加演唱者一栏 |
extra_column | 自定义栏标题 |
longnote_column | 非空时添加备注一栏 |
length | 非空时添加歌曲时长一栏 |
more | 补充说明 |
number | 非空时需要手动填写曲序一栏 |
firstNumber | 更改第一行的起始序号,默认为 1 |
display_cv | 非空时显示的演唱者从“角色(声优)”格式变为“声优(角色役)”格式 |
全碟参数 | |
all_writing | 全碟作词及作曲 |
all_music | 全碟作曲 |
all_lyrics | 全碟作词 |
all_arranger | 全碟编曲 |
all_singer | 全碟演唱 |
all_note | except/yes,与all_note2配套使用以添加例外曲目;或直接添加其他全碟备注 |
all_note2 | 例外曲目 |
分参数顺序(全部为匿名参数,按照表格内容的顺序依次填写即可,空单元格需要留空参数) | |
曲目标题 | 必需 |
曲目作词 | 需要lyrics_credits |
曲目作曲 | 需要music_credits |
曲目编曲 | 需要arranger_credits |
曲目演唱 | 需要singer_credits |
自定义栏目 | 需要extra_column |
曲目备注 | 需要longnote_column |
曲目时长 | 填“分:秒”例如4:01,需要length |
模板示范
{{tracklist | headline = CD | color = nijigaku | lyrics_credits = yes | music_credits = yes | arranger_credits= yes | singer_credits = yes | longnote_column = yes | number = yes | firstNumber = 2 | | [[無敵級*ビリーバー]] | Ayaka Miyake | DECO*27 | Rockwell | kasumi | | | [[未来ハーモニー]] | Kanata Okajima | Akira Sunset、ulala | ulala、Akira Sunset | nijigaku | | 5. | かすみのトキメキ{{ruby|祝祭|カーニバル}}! | | | | | {{lj|[ドラマパート]}} }}
CD | ||||||||
---|---|---|---|---|---|---|---|---|
曲序 | 曲目 | 作词 | 作曲 | 编曲 | 演唱 | 备注
外部链接本页面含有来自萌娘百科的文本,以CC BY-NC-SA 3.0授权引入。经过双方的修改,内容可能已与来源有很大差异。 |
local p = {} local getArgs = require("module:arguments").getArgs function langWrap(text) local result = "" for k, v in ipairs(mw.text.split(text, "、")) do if mw.ustring.find(v, "^[\000-\127]*$") then result = result..v else result = result.."<span lang=\"ja\">-{"..v.."}-</span>" end end return result end function p.main(frame) local args = getArgs(frame) local ljcols = 1 + (args.lyrics_credits and 1 or 0) + (args.music_credits and 1 or 0) + (args.arranger_credits and 1 or 0) local ncols = ljcols + (args.singer_credits and 1 or 0) + (args.extra_column and 1 or 0) + (args.longnote_column and 1 or 0) + (args.length and 1 or 0) local info = (args.all_writing and ("全碟-{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-及作曲:"..langWrap(args.all_writing).." ") or "") .. (args.all_music and ("全碟作曲:"..langWrap(args.all_music).." ") or "") .. (args.all_lyrics and ("全碟-{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-:"..langWrap(args.all_lyrics).." ") or "") .. (args.all_arranger and ("全碟编曲:"..langWrap(args.all_arranger).." ") or "") .. (args.all_singer and ("全碟演唱:"..langWrap(args.all_singer).." ") or "") .. ((args.all_note == "except" or args.all_note == "yes") and "<small>(下面注明例外曲目)</small>" or (args.all_note or '')) .. (args.all_note2 or '') local wikitext = "<div class=\"tracklist" .. (args.length and " tracklist-length" or "") .. "\" style=\"min-width:calc(100% - "..(args.reserve_width or "300px")..");"..(args.collapsed and "border:#aaa 1px solid;" or "").."\">\n" .. "{|"..(args.collapsed and "class=\"mw-collapsible"..((args.collapsed == "closed" or args.collapsed == "yes") and " mw-collapsed" or "").."\"" or "").."\n" .. "!colspan=9|"..(args.headline or "曲目列表")..(info == "" and "" or ("<div style=\"font-weight:normal\">"..info.."</div>")).."\n" .. "|-"..(args.color and "style=\"background-color:"..frame:expandTemplate{title = args.color.."/color"}..";color:white\"" or "").."\n" .. "!曲序!!曲目"..(args.lyrics_credits and "!! -{zh-hans:作词;zh-hant:填詞;zh-tw:作詞;}-" or "")..(args.music_credits and "!! 作曲" or "")..(args.arranger_credits and "!! 编曲" or "")..(args.singer_credits and "!! 演唱" or "")..(args.extra_column and "!!"..args.extra_column or "")..(args.longnote_column and "!! 备注" or "")..(args.length and "!! style=\"width:3em\" | 时长" or "") return wikitext end --[[ -->{{#fornumargs:|key|val |{{#switch:{{#vardefineecho:rval|{{#expr: ({{#var:key}} - 1) mod {{#var:ncols}} }}}} |0 = -{}- {{!-}} {{!}} {{#expr:ceil( {{#var:key}} / {{#var:ncols}} )}}. {{!!}} {{lj|{{#var:val}}}} |#default = {{!!}} {{#ifexpr:{{#var:rval}} < {{#var:ljcols}}|{{lj|{{#var:val}}}}|{{#var:val}}}} }} }}<!-- -->{{#if:{{{more|}}}|-{}- {{!-}} {{!}} colspan="9" {{!}} {{{more}}} }} |}</div> ]]-- return p