Module:Anchor: Difference between revisions
Jump to navigation
Jump to search
en>Pppery (Add class per edit request) |
m (1 revision imported) |
(One intermediate revision by the same user not shown) | |
(No difference)
|
Latest revision as of 14:04, 11 June 2022
This Lua module is used in system messages, and on approximately 72,000 pages. Changes to it can cause immediate changes to the Stiles.casa Wiki user interface. To avoid major disruption, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own Module:Anchor. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them. |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module implements {{anchor}}. Please see the Template:Anchor/doc 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 class="anchor" id="' .. anchor .. '"></span>'
end
return table.concat(ret)
end
return p