Модуль:Өртег
Для документации этого модуля может быть создана страница Модуль:Өртег/doc
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local p = {}
local function _main(args)
local anchors = {}
local visible = yesno(args.visible or args.v)
local i = 1
while args[i] do
local text, class
if i == 1 and visible then
text = args.text or args['текст'] or args[1]
class = 'citation'
end
anchors[i] = tostring(
mw.html.create('span')
:attr('id', args[i])
:addClass(class or '')
:wikitext(text or '')
)
--[[
создание старого вида якорей для совместимости,
см. Обсуждение шаблона:Өртег#Новые html5 ссылки и старые
]]
local url_encoded = mw.uri.encode(args[i], 'WIKI'):gsub('%%', '.')
if args[i] ~= url_encoded then
anchors[i] = anchors[i] .. tostring(
mw.html.create('span')
:attr('id', url_encoded)
)
end
i = i + 1
end
return table.concat(anchors)
end
function p.main(...)
local frame = ...
local args
if type(frame.args) == 'table' then
args = getArgs(frame)
elseif type(frame) == 'table' then
args = frame
else
args = {frame}
end
return _main(args)
end
return p