Модуль:Infobox: различия между версиями
Материал из YastreWiki
Дополнительные действия
Нет описания правки |
мНет описания правки |
||
| Строка 30: | Строка 30: | ||
imageCell:tag('div') | imageCell:tag('div') | ||
:addClass('infobox-caption') | :addClass('infobox-caption') | ||
:css('color', '#b0b0b0') | |||
:css('font-size', '90%') | |||
:css('margin-top', '4px') | |||
:wikitext(caption) | :wikitext(caption) | ||
end | end | ||
Версия от 23:19, 12 апреля 2026
Для документации этого модуля может быть создана страница Модуль:Infobox/doc
local p = {}
local function clean(val)
if val == '' or val == nil then return nil end
return mw.text.trim(val)
end
function p.render(frame)
local args = frame:getParent().args
local title = clean(args['название']) or mw.title.getCurrentTitle().text
local image = clean(args['изображение'])
local caption = clean(args['подпись'])
local root = mw.html.create('table')
root:addClass('infobox')
root:tag('caption')
:addClass('infobox-title')
:wikitext(title)
if image then
local imageRow = root:tag('tr'):addClass('infobox-image-row')
local imageCell = imageRow:tag('td')
:attr('colspan', '2')
:addClass('infobox-image')
imageCell:wikitext(string.format('[[Файл:%s|frameless|280px]]', image))
if caption then
imageCell:tag('div')
:addClass('infobox-caption')
:css('color', '#b0b0b0')
:css('font-size', '90%')
:css('margin-top', '4px')
:wikitext(caption)
end
end
local function addRow(label, data)
local val = clean(data)
if val then
local row = root:tag('tr'):addClass('infobox-row')
row:tag('th')
:addClass('infobox-label')
:wikitext(label)
row:tag('td')
:addClass('infobox-data')
:wikitext(val)
end
end
addRow('Имя', args['имя'])
addRow('Описание', args['описание'])
addRow('Дата создания', args['дата создания'])
addRow('Подписчики', args['подписчики'])
addRow('Просмотры', args['просмотры'])
addRow('Ссылки', args['ссылки'])
return tostring(root)
end
return p