Warning.png

Поддержка Wiki прекращена, она доступна в режиме архива. Информация в ней устарела и может быть неактуальной.

Изменения

Перейти к: навигация, поиск

Модуль:Карточка

1282 байта добавлено, 15:19, 3 ноября 2018
м
Добавление поддержки gif и svg изображений (при необходимости)
local args = require( 'Модуль:ProcessArgs' ).merge( true )
local titleObject = mw.title.getCurrentTitle()
local title = args['название'] or titleObject.baseTextsubpageText local invtitle = args['инвизображение'] or args["инвизображение1"] or args['название'] or titleObject.subpageText local modtitle = args['мод'] or titleObject.rootText if modtitle == 'нет' then modification = '' invmodification = '' else modification = ' (' .. modtitle .. ')' invmodification = modtitle .. ':' end  local imageArea = args["'изображения"']
if not imageArea and imageArea ~= 'none' then
local images = {}
args["изображение1"] = args["изображение1"] or args["изображение"] or 'title'
args["изобр1разм"] = args["изобр1разм"] or args["изобрразм"]
args["invimage1инвизображение1"] = args["invimage1инвизображение1"] or args["invimageинвизображение"] or 'title' args["мод"] = args["мод"]
local imgCount = {}
for k, v in pairs( args ) do
if type( k ) == 'string' then
local image, num = k:mw.ustring.match( k, '^(изображение)(%d+)$' ) local invImage, invNum = k:mw.ustring.match( k, '^(invimageинвизображение)(%d+)$' ) if v:mw.ustring.lower(v) ~= 'нет' then
if image then
table.insert( imgCount, tonumber( num ) )
local image = args['изображение' .. v]
local size = args['изобр' .. v .. 'разм'] or defaultImageSize
if image == 'title' then
oimage = '.png' local imageTitle = mw.title.new( 'Файл:' .. title .. 'modification ..png' oimage )
if imageTitle and imageTitle.exists then
image = '[[Файл:' .. title .. modification .. oimage .. '.png|' .. size .. ']]'
elseif titleObject.namespace == 0 then
image = '[[Файл:No image.svg|' .. size .. '|link=Файл:' .. title .. modification .. oimage .. '.png|Загрузить ' .. title .. modification .. oimage .. '.png]]'
else
image = '[[Файл:No image.svg|' .. size .. '|link=]]'
end elseif mw.ustring.match(image, 'svg' ) then endoimage = '.svg' title = mw.ustring.sub(image, 0, -5) image = '[[Файл:' .. title .. modification .. oimage .. '|' .. size .. ']]' elseif mw.ustring.match(image, 'gif' ) then oimage = '.gif' title = mw.ustring.sub(image, 0, -5) image= '[[Файл:' .. title .. modification .. oimage .. '|' .. size .. ']]' elseif mw.ustring.match( image, ';' ) then
if not animate then
animate = require( 'Модуль:Анимация' ).animate
image = animate{ image, size }
else
oimage = '.png' image = '[[Файл:' .. image .. modification .. oimage .. '|' .. size .. ']]'
end
local invIds = mw.loadData( [[Модуль:ИнвСпрайт/ID]] )["IDы"]
for k, v in ipairs( invImgCount ) do
local image = args['invimageинвизображение' .. v]
if image == 'title' then
local imageExists
imageExists = true
else
local imageTitle = mw.title.new( 'Файл:Grid ' .. title .. 'modification .png' . oimage )
imageExists = imageTitle and imageTitle.exists
end
if image == '----' then
table.insert( invImages, '</div><div style="padding-top:.5em">' )
elseif image ~= '----' then
if not grid then
grid = require( 'Модуль:Инвентарный слот' ).slot
end
table.insert( invImages, grid{ imageinvmodification .. invtitle, ['ссылка'] = 'нет' } )
end
end
invImages = '<div class="infobox-invimages"><div>' .. table.concat( invImages, '' ) .. '</div></div>'
else
invImages = '[[Файл:No image.svg|link=]]'
end
else
end
local bgcolor = args["цвет"]
if bgcolor then
bgcolor = ' style="background:#' .. bgcolor .. '"'
end
 
local html = {
'<div class="notaninfobox">',
'<div class="mcwiki-header infobox-title"', bgcolor or '', '>' .. title .. '</div>',
imageArea,
'{| class="infobox-rows" cellspacing="1" cellpadding="4"',
1136
правок

Навигация