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

“模块:Lyrics”的版本间差异

跳转到导航 跳转到搜索
(外面额外套一层span还是有好处的)
标签撤销
function module.name2color(names,text,lang) --按角色名转换成的颜色给文字上色及加title和语言标识。
if names=='' then
return module.langQuotelangWrap(text, lang)
elseif names:find(',') then --如果颜色标识中有逗号,则说明有多位角色,使用渐变色。
local errorFlag=nil
return '-{' .. text .. '}-'
end
end
 
function module.langWrap(text,lang) --改写自[[moegirl:Module:Lang]]的.wrap。给文字加上指定语言的attr。
local span = mw.html.create('span') --创建HTML标签span用于设置语言。
:wikitext( module.langQuote(text, lang) ) --给这个span加上内容,内容为langQuote确定的是否需要繁简转换的维基文本。
return tostring(span)
end
 
local orig_line=orig[i] --准备转换颜色标识。
if orig_line:find('@') then --如果有颜色标识,
orig_line=orig_line:gsub("^([^@]+)", function(n) return module.langQuotelangWrap(n,llang) end) --则把开头没有颜色表示标识的文字加上语言标识,
orig_line=orig_line:gsub("@([^@]*)@([^@]+)", function(n1,n2) return module.name2color(n1,n2,llang) end) --并把颜色标识替换成有语言标识的颜色span。
else --如果没有颜色标识,
orig_line=module.langQuotelangWrap(orig_line,llang) --则直接添加语言标识。
end
html:tag('div') --在容器中创建一个div,代表一行歌词。