Jump to content

Module:Anchor/sandbox

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Makyen (talk | contribs) at 18:21, 13 February 2014 (Change to using ​). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- 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;">'
	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