Module:Anchor/sandbox

From blackwiki
< Module:Anchor
Revision as of 20:35, 13 February 2014 by blackwiki>Makyen (put z-index:-1; in first span. IE appears to be treating the template differently than the testcase. This is one difference.)
Jump to navigation Jump to search

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

-- This module implements {{anchor}}.

local getArgs = require('Module:Arguments').getArgs
local tableTools = require('Module:TableTools')

local p = {}

function p.main(frame)
	-- Get the positional arguments from #invoke, remove any nil values,
	-- and pass them to p._main.
	local args = getArgs(frame)
	local argArray = tableTools.compressSparseArray(args)
	return p._main(unpack(argArray))
end

function p._main(...)
	-- Generate the list of anchors.
	local anchors = {...}
	local ret = {}
	ret[#ret + 1] = '<span style="position: relative; top: -48px;z-index:-1;">'
	for _, anchor in ipairs(anchors) do
		ret[#ret + 1] = '<span id="' .. anchor .. '"></span>'
	end
	ret[#ret + 1] = '&#8203;</span>'
	return table.concat(ret)
end

return p