Module:Sprite: Difference between revisions

mNo edit summary
Temporarily patch in the style tag changes to fix invsprite documentation
Line 44: Line 44:
if setting( 'url' ) then
if setting( 'url' ) then
styles[#styles + 1] = 'background-image:' .. setting( 'url' )
styles[#styles + 1] = 'background-image:' .. ( setting( 'url' ).url or setting( 'url' ) )
end
end
if setting( 'stylesheet' ) then
if setting( 'stylesheet' ) then
Line 54: Line 54:
styles[#styles + 1] = 'background-image:' .. p.getUrl(
styles[#styles + 1] = 'background-image:' .. p.getUrl(
setting( 'image' ) or setting( 'name' ) .. 'Sprite.png'
setting( 'image' ) or setting( 'name' ) .. 'Sprite.png'
)
).url
end
end
local class = setting( 'class' )
local class = setting( 'class' )
Line 181: Line 181:
end
end


function p.getUrl( spritesheet, query )
function p.getUrl( image, query, classname )
return mw.getCurrentFrame():expandTemplate{ title = 'FileUrl', args = { spritesheet, query = query } }
local f = mw.getCurrentFrame()
return {
url = f:expandTemplate{
title = 'FileUrl',
args = { image, query = query }
},
style = f:expandTemplate{
title = 'FileUrlStyle',
args = { classname, image, query = query }
},
}
end
end


Line 227: Line 237:
local dataTitle = mw.title.new( 'Module:' .. dataPage )
local dataTitle = mw.title.new( 'Module:' .. dataPage )
-- Temporary until this is updated
local classname = data.settings.classname or
mw.ustring.lower( data.settings.name:gsub( ' ', '-' ) ) .. '-sprite'
local spritesheet = data.settings.image or data.settings.name .. 'Sprite.png'
local spritesheet = data.settings.image or data.settings.name .. 'Sprite.png'
local spriteTitle = mw.title.new( 'File:' .. spritesheet )
local spriteTitle = mw.title.new( 'File:' .. spritesheet )
Line 238: Line 251:
['data-spritesheet'] = spritesheet,
['data-spritesheet'] = spritesheet,
['data-spriteprotection'] = spriteProtection,
['data-spriteprotection'] = spriteProtection,
['data-urlfunc'] = "require( [[Module:Sprite]] ).getUrl( '" .. spritesheet .. "', '$1' )",
['data-urlfunc'] = "require( [[Module:Sprite]] ).getUrl( '" .. spritesheet .. "', '$1', '" .. classname .. "' )",
['data-refreshtext'] = mw.text.nowiki( '{{#invoke:sprite|doc|' .. dataPage .. '|refresh=1}}' ),
['data-refreshtext'] = mw.text.nowiki( '{{#invoke:sprite|doc|' .. dataPage .. '|refresh=1}}' ),
['data-settings'] = mw.text.jsonEncode( data.settings ),
['data-settings'] = mw.text.jsonEncode( data.settings ),