Модуль:Краткий вызов
Внешний вид
Для документации этого модуля может быть создана страница Модуль:Краткий вызов/doc
local p = {}
-- Форматирование ссылки
local function formatLink(shortcut, isTemplate)
local link = {'[', nil, ' ', shortcut, ']'}
if isTemplate then
link[1] = '{{['
link[5] = ']}}'
if not shortcut:match(":") then
shortcut = "Шаблон:" .. shortcut
end
end
link[2] = tostring(mw.uri.fullUrl(shortcut, "redirect=no"))
return table.concat(link)
end
-- Основная функция
function p.shortcut(f)
local args = require("Модуль:ProcessArgs").norm()
-- Шаблон?
local asTemplate = (args["шаблон"] or "да") == "да"
-- Стили
local tstyles = require("Модуль:TemplateStyles").load("Шаблон:Краткий вызов/styles.css")
-- Обёртка
local wrapper = mw.html.create("div"):addClass("shortcut-wrapper")
-- Заглавие
wrapper:tag("div"):addClass("shortcut-caption"):wikitext("Сокращения")
-- Основной блок
local main = wrapper:tag("div"):addClass("shortcut-main")
-- Иконка
main:tag("span"):addClass("shortcut-icon"):wikitext(
"[[Файл:Redirectltr.png|20px|link=|Короткая ссылка-перенаправление|alt=↱|class=darkmode-invert]]"
)
-- Блок со ссылками
local links = main:tag("ul"):addClass("shortcut-links list-style-none")
links:addClass(asTemplate and "shortcut-links-template" or "shortcut-links-notemplate")
-- Ссылки
for _, shortcut in ipairs(args) do
links:tag("li"):wikitext(formatLink(shortcut, asTemplate))
end
return tstyles, tostring(wrapper)
end
return p