Модуль:Краткий вызов: различия между версиями
Внешний вид
Spark108 (обсуждение | вклад) Новая страница: «p = {} p.shortcut = function(f) local args = require("Модуль:ProcessArgs").norm() local result = mw.html.create("table") result:addClass("noprint") result:addClass("shortcut") result:attr("cellspacing", "0") local tableRow = result:tag("tr") local firstCell = tableRow:tag("td") firstCell:addClass("shortcut-1") firstCell:wikitext("20px|link=|Короткая ссылка-перенаправление|alt=↱")...» |
Spark108 (обсуждение | вклад) м 1 версия импортирована |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
p = {} | 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 args = require("Модуль:ProcessArgs").norm() | ||
local | -- Шаблон? | ||
local asTemplate = (args["шаблон"] or "да") == "да" | |||
-- Стили | |||
local | local tstyles = require("Модуль:TemplateStyles").load("Шаблон:Краткий вызов/styles.css") | ||
local | -- Обёртка | ||
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 | end | ||
return tostring( | return tstyles, tostring(wrapper) | ||
end | end | ||
return p | return p |
Текущая версия от 13:23, 30 апреля 2025
Для документации этого модуля может быть создана страница Модуль:Краткий вызов/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