Module: Anchor
still accept {{{anchor}}}, used e.g. on Commons:European Science Photo Competition 2015/Winners |
m 1 revision imported |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
-- and pass them to p._main. | -- and pass them to p._main. | ||
local args = getArgs(frame) | local args = getArgs(frame) | ||
local argArray = tableTools.compressSparseArray(args) | local argArray = tableTools.compressSparseArray(args) | ||
return p._main(unpack(argArray)) | return p._main(unpack(argArray)) | ||
Line 20: | Line 19: | ||
local ret = {} | local ret = {} | ||
for _, anchor in ipairs(anchors) do | for _, anchor in ipairs(anchors) do | ||
ret[#ret + 1] = '<span id="' .. anchor .. '"></span>' | ret[#ret + 1] = '<span class="anchor" id="' .. anchor .. '"></span>' | ||
end | end | ||
return table.concat(ret) | return table.concat(ret) |
Latest revision as of 18:07, 4 March 2024
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 class="anchor" id="' .. anchor .. '"></span>'
end
return table.concat(ret)
end
return p