模块:Lyrics

星臣讨论 | 贡献2017年1月16日 (一) 17:17的版本 (创建页面,内容为“local p = {} local getArgs = require('Module:Arguments').getArgs local lang = require('Module:Lang') function p._lyrics(args) local orig = mw.text.split(args.orig...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

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