This Lua module is used on approximately 26,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}}
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.lua_main(frame)
local s = frame.args1
if frame.args3 then
local args = {}
for i, v in ipairs(frame.args) do
if i >= 2 then
args#args+1 = v
end
end
args'style' = 'display: inline'
args'list_style' = 'display: inline'
args'item1_style' = 'display: inline'
h = mw.html.create('div')
h:wikitext(s)
h:tag('br') -- h:newline() is not working for some reason
h:wikitext('by ')
h:wikitext(frame:expandTemplate{ title = 'Unbulleted list', args = args })
return h
elseif frame.args2 then
s = s .. '<br />by ' .. frame.args2
return s
end
return s
end
function p.main(frame)
return p.lua_main(frame:getParent())
end
return p