“Module:Lyrics”的版本间的差异
(创建页面,内容为“local p = {} local getArgs = require('Module:Arguments').getArgs local lang = require('Module:Lang') function p._lyrics(args) local orig = mw.text.split(args.orig...”) |
(没有差异)
|
2017年1月17日 (二) 23:11的最新版本
local p = {}
local getArgs = require('Module:Arguments').getArgs local lang = require('Module:Lang')
function p._lyrics(args) local orig = mw.text.split(args.original or , '\n') local tran = mw.text.split(args.translated or , '\n') local llang = args.llang or 'ja' local rlang = args.rlang or 'zh' local lstyle = 'width:49.85%;min-width:360px;display:inline-block;white-space:pre-wrap;' .. (args.lstyle or ) local rstyle = 'width:49.85%;min-width:360px;display:inline-block;white-space:pre-wrap;' .. (args.rstyle or )
if args.original:match('<ruby') then lstyle = 'line-height:2.1;' .. lstyle rstyle = 'line-height:2.1;' .. rstyle else lstyle = 'vertical-align:top;' .. lstyle rstyle = 'vertical-align:top;' .. rstyle end
local html = mw.html.create()
for i, v in pairs(orig) do html: tag('div') :tag('div') :cssText(lstyle) :tag('div') :css('max-width', '100vw') :node(lang.wrap(v, llang)) :done() :done() :tag('div') :cssText(rstyle) :tag('div') :css('max-width', '100vw') :node(lang.wrap(tran[i], rlang)) :done() :done() end
-- Clear the floating html:tag('div'):cssText('clear:both')
return tostring(html) end
function p.lyrics(frame) local args = getArgs(frame, {wrappers='Template:LyricsKai'}) return p._lyrics(args) end
return p