Module:Anchor: Difference between revisions
From Neodyland Wiki
More actions
Copied from w:en:Special:PermaLink/586910342 |
still accept {{{anchor}}}, used e.g. on Commons:European Science Photo Competition 2015/Winners |
||
| (One intermediate revision by one other user 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) | ||
args[1] = args[1] or args.anchor | |||
local argArray = tableTools.compressSparseArray(args) | local argArray = tableTools.compressSparseArray(args) | ||
return p._main(unpack(argArray)) | return p._main(unpack(argArray)) | ||
Latest revision as of 17:00, 14 February 2020
This documentation is transcluded from 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)
args[1] = args[1] or args.anchor
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