Module:Anchor: Difference between revisions

From Wiki.sg
Jump to navigation Jump to search
Module>Frietjes
(add {{{|safesubst:}}} per talk)
m (1 revision imported)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{{{{|safesubst:}}}#invoke:anchor|main}}<noinclude>
-- This module implements {{anchor}}.
{{Documentation}}
 
<!-- Categories go on the /doc subpage, and interwikis go on Wikidata. -->
local getArgs = require('Module:Arguments').getArgs
</noinclude>
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 = {}
for _, anchor in ipairs(anchors) do
ret[#ret + 1] = '<span id="' .. anchor .. '"></span>'
end
return table.concat(ret)
end
 
return p

Latest revision as of 11:00, 4 September 2019

Documentation for this module may be created at Module:Anchor/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 = {}
	for _, anchor in ipairs(anchors) do
		ret[#ret + 1] = '<span id="' .. anchor .. '"></span>'
	end
	return table.concat(ret)
end

return p