Модуль:Reply to

Материал из Тептар — свободной энциклопедии
Версия от 17:20, 12 февраля 2022; Adam (обсуждение | вклад) (Новая страница: «local p = {} local getArgs = require('Module:Arguments').getArgs local error = require('Module:Error').error function p.main(frame) local args = getArgs(frame, {removeBlanks = false}) local users = {} local limit = tonumber(args.limit) or 50 local i = 1 while args[i] and i <= limit do users[i] = string.format('%s', args[i], args['label' .. i] or args['l' .. i] or args[i]) i = i + 1 end if not next(users) then return erro...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

На этом модуле реализован шаблон {{reply to}}.


local p = {}
local getArgs = require('Module:Arguments').getArgs
local error = require('Module:Error').error

function p.main(frame)
	local args = getArgs(frame, {removeBlanks = false})
	local users = {}
	local limit = tonumber(args.limit) or 50
	local i = 1
	while args[i] and i <= limit do
		users[i] = string.format('[[Участник:%s|%s]]', args[i], args['label' .. i] or args['l' .. i] or args[i])
		i = i + 1
	end
	if not next(users) then
		return error{'Ошибка в [[Шаблон:Reply to]]: имя участника не задано'}
	end
	return tostring(
		mw.html.create('span')
			:addClass('template-ping')
			:wikitext('@' .. table.concat(users, ', ') .. ( args['p'] or ':' ))
	)
end

return p