置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module:Sandbox/D41D8CD98F/Lyrics

猛汉♂百科,万男皆可猛的百科全书!转载请标注来源页面的网页链接,并声明引自猛汉百科。内容不可商用。
跳到导航 跳到搜索
Template-info.svg 模块文档  [创建] [刷新]
  1. local p = {}
  2. local getArgs = require('Module:Arguments').getArgs
  3. local lang = require('Module:Lang')
  4. function p._lyrics(args)
  5. local orig = mw.text.split(args.original or '', '\n')
  6. local tran = mw.text.split(args.translated or '', '\n')
  7. local llang = args.llang or 'ja'
  8. local rlang = args.rlang or 'zh'
  9. local lstyle = args.lstyle or ''
  10. local rstyle = args.rstyle or ''
  11. local containerstyle = args.containerstyle or ''
  12. if args.original:match('<ruby') then
  13. containerstyle = 'line-height:2.5;' .. containerstyle
  14. end
  15. local html = mw.html.create('div')
  16. html
  17. :addClass('Lyrics3')
  18. :cssText(containerstyle)
  19. for i=1,math.max(#orig, #tran) do
  20. if orig[i] == '' and tran[i] == '' then
  21. html:
  22. tag('div')
  23. :addClass('Lyrics3-line Lyrics3-empty-line')
  24. :tag('br')
  25. else
  26. html:
  27. tag('div')
  28. :addClass('Lyrics3-line')
  29. :tag('div')
  30. :addClass('Lyrics3-original')
  31. :cssText(lstyle)
  32. :tag('div')
  33. :node(lang.wrap(orig[i] or '', llang))
  34. :done()
  35. :done()
  36. :tag('div')
  37. :addClass('Lyrics3-translated')
  38. :cssText(rstyle)
  39. :tag('div')
  40. :node(lang.wrap(tran[i] or '', rlang))
  41. :done()
  42. :done()
  43. end
  44. end
  45. return tostring(html)
  46. end
  47. function p.lyrics(frame)
  48. local args = getArgs(frame, {parentOnly = true})
  49. return p._lyrics(args)
  50. end
  51. return p