Для документации этого модуля может быть создана страница Модуль:Ссылка на шаблон/doc

local p = {}

function p.link(frame)
	local text = frame.args[1] or ""
	if text == "" then
		return ""
	end

	local target, display, prefix

	local ustring = mw.ustring
	-- Если строка начинается с "":""
	if ustring.sub(text, 1, 1) == ":" then
		target = ustring.sub(text, 2)
		display = text

	-- Если строка начинается с "Модуль:"
	elseif ustring.sub(text, 1, 7) == "Модуль:" then
		target = text
		display = ustring.sub(text, 8)
		prefix = "#invoke:"

	-- Если строка начинается с "Шаблон:"
	elseif text:sub(1,7) == "Шаблон:" then
		target = text
		display = text:sub(8)

	-- Если строка начинается с "Файл:"
	elseif text:sub(1,6) == "Файл:" then
		target = text
		display = text:sub(7)

	-- Если строка начинается с "Категория:"
	elseif text:sub(1,10) == "Категория:" then
		target = text
		display = text:sub(11)

	-- Если обычная строка – добавляем в начало префикс "Шаблон:"
	else
		target = "Шаблон:" .. text
		display = text
	end

	return frame:preprocess(string.format("<nowiki>%s</nowiki>[[%s|%s]]", prefix, target, display))
end

return p