Screamer Forums and Screamer gallery have returned.

The Screamer Forums will likely remain read only unless it's known that it will be active, since forums in general are kind of dead because of Discord.

Module:Anchor: Difference between revisions

From Screamer Wiki
Jump to navigation Jump to search
m Protected Module:Anchor: High-risk Lua module: 20,000 transclusions ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite))
 
m 1 revision imported
 
(No difference)

Latest revision as of 15:26, 20 August 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