Модуль:Ссылка на шаблон: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) Новая страница: «local p = {} function p.link(frame) local text = frame.args[1] or "" if text == "" then return "" end local target, display -- Если первая буква равна ":" if text:sub(1,1) == ":" then -- Убираем начальный двоеточие local noColon = text:sub(2) -- Если после ":" идёт "Шаблон:" – удаляем и его для отображения if noColon:sub(1,7) == "Ша...» |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 11: | Строка 11: | ||
-- Если первая буква равна ":" | -- Если первая буква равна ":" | ||
if text:sub(1,1) == ":" then | if text:sub(1,1) == ":" then | ||
-- | -- Для целевой страницы убираем начальный двоеточие | ||
target = text:sub(2) | |||
-- | -- Отображаем оригинальный текст без изменений | ||
display = text | |||
display = | |||
-- Если строка начинается с "Модуль:" | -- Если строка начинается с "Модуль:" | ||
| Строка 24: | Строка 20: | ||
-- Для целевой страницы заменяем "Модуль:" на "#invoke:" | -- Для целевой страницы заменяем "Модуль:" на "#invoke:" | ||
target = "#invoke:" .. text:sub(8) | target = "#invoke:" .. text:sub(8) | ||
display = text | display = text | ||
-- Если строка начинается с "Шаблон:" | -- Если строка начинается с "Шаблон:" | ||
elseif text:sub(1,7) == "Шаблон:" then | elseif text:sub(1,7) == "Шаблон:" then | ||
target = text | target = text | ||
-- Для отображения убираем префикс "Шаблон:" | |||
display = text:sub(8) | display = text:sub(8) | ||
-- Если строка начинается с "Файл:" | -- Если строка начинается с "Файл:" | ||
elseif text:sub(1,6) == "Файл:" then | elseif text:sub(1,6) == "Файл:" then | ||
target = text | target = text | ||
display = text:sub(7) | display = text:sub(7) | ||
Версия от 14:19, 19 февраля 2025
Для документации этого модуля может быть создана страница Модуль:Ссылка на шаблон/doc
local p = {}
function p.link(frame)
local text = frame.args[1] or ""
if text == "" then
return ""
end
local target, display
-- Если первая буква равна ":"
if text:sub(1,1) == ":" then
-- Для целевой страницы убираем начальный двоеточие
target = text:sub(2)
-- Отображаем оригинальный текст без изменений
display = text
-- Если строка начинается с "Модуль:"
elseif text:sub(1,7) == "Модуль:" then
-- Для целевой страницы заменяем "Модуль:" на "#invoke:"
target = "#invoke:" .. text:sub(8)
display = text
-- Если строка начинается с "Шаблон:"
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