Difference between revisions of "Module:Based on/sandbox"

From blackwiki
Jump to navigation Jump to search
blackwiki>Nardog
blackwiki>Nardog
Line 2: Line 2:
  
 
function p._main(args)
 
function p._main(args)
return args[2] and string.format(
+
local s = args[1]
'%s <br /><div class="nowrap"><span style="vertical-align:top">by </span><div class="wrap%s" style="display:inline-block;padding-right:1.25em">%s</div></div>',
+
if args[2] then
args[1],
+
s = mw.html.create():wikitext(s .. ' ')
args[3] and ' plainlist' or '',
+
if args[3] then
args[3] and '\n* ' .. table.concat(args, '\n* ', 2) .. '\n'
+
s:tag('br'):done()
or args[2]  
+
end
)
+
s:tag(args[3] and 'div' or 'span')
or args[1]
+
:addClass('nowrap')
 +
:tag('span')
 +
:css('vertical-align', 'top')
 +
:wikitext('by ')
 +
:done()
 +
:tag(args[3] and 'div' or 'span')
 +
:addClass('wrap')
 +
:addClass(args[3] and 'plainlist')
 +
:css('display', 'inline-block')
 +
-- Prevents the text from spilling out
 +
:css('padding-right', '1.25em')
 +
:wikitext(args[3] and
 +
'\n* ' .. table.concat(args, '\n* ', 2) .. '\n'
 +
or args[2])
 +
:done()
 +
:done()
 +
end
 +
return s
 
end
 
end
  
 
function p.main(frame)
 
function p.main(frame)
 +
-- mw.clone makes table.concat possible
 
return p._main(mw.clone(frame:getParent().args))
 
return p._main(mw.clone(frame:getParent().args))
 
end
 
end
  
 
return p
 
return p

Revision as of 08:25, 23 January 2020

Documentation for this module may be created at Module:Based on/sandbox/doc

local p = {}

function p._main(args)
	local s = args[1]
	if args[2] then
		s = mw.html.create():wikitext(s .. ' ')
		if args[3] then
			s:tag('br'):done()
		end
		s:tag(args[3] and 'div' or 'span')
			:addClass('nowrap')
			:tag('span')
				:css('vertical-align', 'top')
				:wikitext('by ')
				:done()
			:tag(args[3] and 'div' or 'span')
				:addClass('wrap')
				:addClass(args[3] and 'plainlist')
				:css('display', 'inline-block')
				-- Prevents the text from spilling out
				:css('padding-right', '1.25em')
				:wikitext(args[3] and
					'\n* ' .. table.concat(args, '\n* ', 2) .. '\n'
					or args[2])
				:done()
			:done()
	end
	return s
end

function p.main(frame)
	-- mw.clone makes table.concat possible
	return p._main(mw.clone(frame:getParent().args))
end

return p