Modul:Imagemap

Aus Wikivoyage
Dokumentation für das Modul Imagemap[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

Dieses Modul enthält Funktionen zur Erzeugung von Imagmaps.

Allgemein gültige Parameter

Die allgemein gültigen Parameter kann man sowohl innerhalb der Vorlage in der Parserfunktion invoke benutzen, als auch innerhalb des Artikels der Vorlage selbst übergeben. Der Paramter, der bei der Einbindung der Vorlage benutzt wird, hat dabei Vorrang. So kann man bestimmte Funktionalitäten für den generellen Gebrauch der Vorlage aktivieren (über invoke) und im Einzelfall im Artikel abschalten (bei der Verwendung der Vorlage).

  • |ignore_errors= auf 1 oder true gesetzt, werden die Ausgabe der Fehlermeldungen der Funktionen unterdrückt. Standardmäßig werden die Fehler angezeigt.
  • |no_category= auf 1 oder true gesetzt, werden die Artikel bei Fehlermeldungen des Moduls einer Fehlerkategorie zugeordnet. Standardmäßig werden Fehlermeldungen in die Kategorie Fehlerberichte des Moduls Imagemap eingefügt. Wurden unbekannte Parameter verwendet landen die Artikel zusätzlich in der Kategorie Vorlagen mit unbekannten Parametern.
  • |error_category= gibt den Namen einer Fehlerkategorie an, in der der Artikel bei auftretenden Fehlern einsortiert wird. Standardmäßig ist das Fehlerberichte des Moduls Imagemap.

Submodule

  • Modul:Imagemap/Params – enthält ein mehrdimensionales Array mit allen erlaubten Parametern für jede Funktion/Vorlage und ihre Standardbelegung.

Länderkarten

Länderkarten sind für Wikivoyage flächendeckend verfügbar. Die Imagemap befindet sich unter Modul:Imagemap/<Landeskennung>. Die Landeskennung entspricht dabei der Top-Level-Domain bzw. ISO 3166.

Karten für Provinzen, Bundesländer usw.

Für die untergeordneten Regionen der ersten Hierarchie der Staaten gibt es auf Wikivoyage derzeit nur in Einzelfällen Karten. Im Regelfall sind diese aber auf Wikimedia Commons verfügbar. Es bietet sich an diese nach dem Scheme Modul:Imagemap/<Provinzkennung> abzulegen, wobei die Provinzkennung dem offiziellen Standard ISO 3166-2. Ergänzt man nun die Länderkürzellisten (Modul:Landesbezeichnung/de und Modul:Landesbezeichnung/en) um die Provinzkennung, kann die Dokumentation wie bei den Ländern mit der Vorlage {{Dokumentation Modul Imagemap/Location maps}} erfolgen, die alles automatisch generiert. Ein Beispiel wäre die Imagemap von Abchasien mit dem Kürzel ge-ab.

sonstige Karten

Für alle weiteren Karten legt man einfach ein Untermodul nach dem Schema Modul:Imagemap/<Name der Karte> an. Benutze bitte möglichst Namen, die den Inhalt der bereits erkennen lassen, z.B. eine Kombination aus geografischer und thematischer Bezeichnung.

Funktionen

Intern

Die internen Funktionen werden nicht von Vorlagen benutzt und werden im Modul bzw. von anderen Modulen genutzt.

  • createImagemap erzeugt über die Extension Imagemap eine Imagemap und erwartet dabei folgende Parameter:
    • |imagemapFrame= Framevariable des aufrufenden Objekts
    • |imagemapFile= Name der Bilddatei
    • |imagemapMap= Name der Imagemap
    • |imagemapSize= Größe der Imagemap
    • |imagemapDesc= Lage des Infobuttons
    • |imagemapAlign= Ausrichtung der Imagemap

Extern

  • imagemap Erzeugt eine Imagemap. Parametrierung siehe {{Imagemap}}

Vorlagen

Folgende Vorlagen benutzen dieses Modul

  • {{Imagemap}} – Vorlage zum Erzeugen anklickbarer Karten
  • {{Quickbar Region}} – Infobox für Artikel über Regionen

Benötigte weitere Module

Dieses Modul benötigt folgende weitere Module: Check2

Verwendung in anderen Modulen

Dieses Modul ist notwendig für die Ausführung folgender Module. Bei Anpassungen sollte die Funktionstüchtigkeit der folgenden Module geprüft werden. Benutze dazu auch diese Tracking-Kategorie um Fehler zu finden, die sich dann auf Artikel auswirken:

Verfügbare Karten

Hinweise
local check = require('Modul:Check2')
 
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 = ''
 	local 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