Module:Based on/sandbox
Appearance
![]() | This is the module sandbox page for Module:Based on (diff). |
![]() | This Lua module is used on approximately 29,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module implements {{Based on}}
Usage
To directly call this module (all arguments except work name optional):
{{#invoke:Based on|lua_main|Work name|Writer 1|Writer 2|...}}
To call it from a template, passing on the arguments from it:
{{#invoke:Based on|main}}
local p = {}
function p._main(args)
local s = args[1]
if args[3] then
local h = mw.html.create('ul')
for i, v in ipairs(args) do
if i ~= 1 then
h:tag('li'):wikitext(v):done()
end
end
h = mw.html.create()
:wikitext(s .. ' ')
:tag('br')
:done()
:tag('span')
:css('vertical-align', 'top')
:wikitext('by ')
:done()
:tag('div')
:addClass('plainlist')
:css('display', 'inline-block')
:node(h)
:allDone()
s = h
elseif args[2] then
s = s .. ' <br />by ' .. args[2]
end
return s
end
function p.main(frame)
return p._main(frame:getParent().args)
end
return p