Difference between revisions of "Module:Anchor"
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 17:10, 31 January 2018
This Lua module is used on 36,000+ pages, so changes to it will be widely noticed. Please test any changes in the module's /sandbox or /testcases subpages. Please consider discussing changes on the talk page before implementing them. |
This module implements {{anchor}}. Please see the template page for documentation.
-- 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