Модуль:Check for unknown parameters: различия между версиями

м
5 версий импортировано: Шаблон Ampbox и товарищи Википедия
/>Facenapalm
(Перевод.)
м (5 версий импортировано: Шаблон Ampbox и товарищи Википедия)
 
(не показаны 4 промежуточные версии 3 участников)
Строка 82: Строка 82:


return table.concat(res)
return table.concat(res)
end
function p.generate (frame)
local res = '{{#invoke:check for unknown parameters|check\n' ..
'|unknown=' .. frame.args['unknown'] .. '\n'
local checkerparams = {'ignoreblank', 'preview', 'showblankpositional'}
for _, v in pairs(checkerparams) do
if frame.args[v] then
res = res .. '|' .. v .. '=' .. frame.args[v] .. '\n'
end
end
local templatenamespace = frame.args[1]
local templatetitle = frame.args[2]
local pagepointer = mw.title.new(templatetitle, templatenamespace) -- именно такой порядок!
local text = pagepointer.getContent(pagepointer)
local params = {}
for param in string.gmatch(text, '\{\{\{([^\|\}]*)') do
params[#params+1] = mw.text.trim(param)
end
table.sort(params)
for k, v in pairs(params) do
if k == 1 or v ~= params[k-1] then
res = res .. '|' .. v
end
end
res = res .. '}}'
return res
end
end


return p
return p