Hoppa till innehållet

Modul:Imagemap

Från Wikivoyage, den fria resehandboken.

Dokumentationen för denna modul kan skapas på Modul:Imagemap/dok

local check = require('Modul:Check')
 
local p = {}

function p.arguments ( paraFrame , paraParams, paraOption  )
	argsParent = paraFrame:getParent().args
	argsFrame = paraFrame.args
 
	local value = argsParent[paraOption]
	if value == nil then value = argsFrame[paraOption] end
	if value == nil then value = paraParams[paraOption] end
 
	return value
end

-- interne Funktion, die die imagemap erzeugt
function p.createImagemap ( imagemapFrame, imagemapFile, imagemapMap, imagemapSize, imagemapDesc, imagemapAlign )

	local displayImage = ''
 	local displayImagemapText = ''
 	imagemapText = mw.loadData ( 'Modul:Imagemap/' .. imagemapMap )
 	for k,v in pairs ( imagemapText ) do
		displayImagemapText = displayImagemapText .. v .. '\n'
	end
	displayImage = imagemapFile
	if ( imagemapAlign ~= '' ) then displayImage = displayImage .. '|' .. imagemapAlign end
	displayImage = displayImage .. '|' .. imagemapSize .. '\n' .. displayImagemapText .. 'desc ' .. imagemapDesc
	return imagemapFrame:extensionTag( 'imagemap', displayImage ) 	
end

function p.imagemap ( frame )
	
	-- zulässige Parameter einlesen
	params = mw.loadData('Modul:Imagemap/Params')
	funcParams = params['imagemap']
	
	-- Argumente holen, die der Vorlage übergeben wurden
	args = frame:getParent().args

	-- Argumente auswerten, auf Vorhandensein prüfen und ggf. mit Standardwerten belegen
	local image = p.arguments ( frame, funcParams, 'image')
	local imagemap = p.arguments ( frame, funcParams, 'imagemap')
	local size = p.arguments ( frame, funcParams, 'size')
	local desc = p.arguments ( frame, funcParams, 'desc')
	local align = p.arguments ( frame, funcParams, 'align')

	-- Variable für die Ausgabe erzeugen
	local display = ''

	-- Imagemap generieren
	display =  p.createImagemap ( frame, image, imagemap, size, desc, align ) 

	-- Fehlertext und Ausgabe zurückgeben
	return  check._testParams ( args, funcParams, 'Imagemap' ) .. display
	
end

return p