LLWiki正在建设中,欢迎加入我们

模块:Tracklist

来自LLWiki
Bhsd讨论 | 贡献2020年9月26日 (六) 11:52的版本
跳转到导航 跳转到搜索
Template-info.png 模块文档
这个文档嵌入模块: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
曲序 曲目 作词 作曲 编曲 演唱 备注
1.

無敵級*ビリーバー

Ayaka Miyake DECO*27 Rockwell kasumi
2.

未来ハーモニー

Kanata Okajima Akira Sunset、ulala ulala、Akira Sunset
3. nijigaku


5. かすみのトキメキ祝祭カーニバル

4.

[ドラマパート]

外部链接

本页面含有来自萌娘百科的文本,以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 ml(frame, singer)
	return frame:expandTemplate{title = "ml", args = {singer, cv = 1}} or singer
end
	
function p.main(frame)
	local args = frame:getParent().args

	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 ("全碟演唱:"..ml(frame, 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 "")

	for k, v in ipairs(args) do
		local r = (k - 1) % ncols
		if r == 0 then
			wikitext = wikitext.."\n|-\n|"..tostring(math.ceil(k / ncols))..".||<span lang=\"ja\">-{"..v.."}-</span>"
		else
			wikitext = wikitext.."\n|"
			if r < ljcols then
				wikitext = wikitext..langWrap(v)
			elseif r == ljcols and args.singer_credits then
				wikitext = wikitext..ml(frame, v)
			else
				wikitext = wikitext..(v or "")
			end
		end
	end

	wikitext = wikitext..(args.more and "\n|-\n|colspan=9|"..args.more or "").."\n|}</div>"
	return wikitext
end

return p