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

local p = {}

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

  local target, display

	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 = "#invoke:" .. ustring.sub(text, 8)

  -- Если строка начинается с "Шаблон:"
  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 string.format("[[%s|%s]]", target, display)
end

return p