Dokumentation für das Modul RegionList[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

Dieses Modul enthält Funktionen für die Vorlagen {{Region List}} und {{Region Item}}. Die Funktionen können nicht über <#invoke: …>, sondern müssen über den entsprechenden Vorlagenaufruf aufgerufen werden. Die Dokumentation befindet sich in Wikivoyage:RegionList, die Stilvorlagen in Vorlage:Region List/styles.css und Vorlage:Region Item/styles.css.

Versionsbezeichnung auf Wikidata: 2024-09-14 Ok!

Funktionen

Die Verwendung des Moduls mit Beispielen kann man unter {{Region List}} einsehen.

  • listItem – Die Funktion formatiert einen einzelnen Listeneintrag.
  • list – Die Funktion erzeugt den Rahmen für eine Regionenliste und bindet ein Kartenbild ein.

Erzeugter HTML-Code

<div class="voy-regionListFrame voy-regionVersion1/voy-regionVersionX">   <div class="voy-regionListMap">   <div class="voy-regionList">     <div class="voy-regionHeader">       <div class="voy-regionName"><span class="voy-regionColon">:</span>       <div class="voy-regionDescription">     </div>     <div class="voy-regionItems">   </div></div> 
Hinweise
-- documentation local regionList = { 	suite  = 'RegionList', 	serial = '2024-09-14', 	item   = 91289446 }  -- module import  local yn = require( 'Module:Yesno' )  -- module variable local regList = { 	-- administration 	moduleInterface = regionList,  	categories = { 		withoutMap    = '[[Category:Regionenlisten ohne Karte]]', 		unknownParams = '[[Category:Regionenlisten mit fehlerhaften Parametern]]' 	},  	delimiter = " '''·''' ",  	itemParams = { 		color        = { 'color', 'farbe', default = '#ff0000' }, -- red 		description  = { 'description', 'beschreibung' }, 		name         = { 'name', default = 'Name' }, 		noRegionLink = '', 		styles       = { 'styles', 'stile' } 	},  	listParams = { 		imagemap  = '', 		map       = { 'map', 'karte' }, 		mapLink   = '', 		mapSize   = { 'mapSize', 'größe', default = '300px' }, 		styles    = { 'styles', 'stile' }, 		title     = { 'title', 'titel', default = 'Regionenkarte' }, 		version   = { 'version', default = '1' } 	} }  local function checkParams( frameArgs, list ) 	local complete = {} 	local args = {}  	for key, value in pairs( list ) do 		if type( value ) == 'table' then 			for key2, value2 in ipairs( value ) do 				complete[ value2 ] = key 				args[ key ] = args[ key ] or frameArgs[ value2 ] 			end 			args[ key ] = args[ key ] or '' 		elseif value ~= '' then 			complete[ value ] = key 			args[ key ] = frameArgs[ value ] or '' 		else 			complete[ key ] = key 			args[ key ] = frameArgs[ key ] or '' 		end 		if args[ key ] == '' and type( value ) == 'table' and value.default then 			args[ key ] = value.default 		end 	end  	local ok = true 	for key, value in pairs( frameArgs ) do 		if tonumber( key ) then 			-- frameArgs[ key ] cannot be nil 			args[ key ] = mw.text.trim( frameArgs[ key ] ) 		elseif not complete[ key ] then 			ok = false 		end 	end 	return args, ok end  function regList.listItem( frame ) 	local args, ok = checkParams( frame:getParent().args, regList.itemParams ) 	local errors = ok and '' or regList.categories.unknownParams  	if not yn( args.noRegionLink, false ) then 		args.name = '[[' .. args.name .. ']]' 	end 	if args.description ~= '' then 		args.name = args.name .. '<span class="voy-regionColon">:&nbsp;</span>' 	end  	-- create header 	local header = mw.html.create( 'div' ) 		:addClass( 'voy-regionHeader' ) 		:node( mw.html.create( 'div' ) 			:addClass( 'voy-regionName' ) 			:wikitext( args.name ) 		) 	if args.description ~= '' then 		header:node( mw.html.create( 'div' ) 			:addClass( 'voy-regionDescription' ) 			:wikitext( args.description ) 		) 	end  	-- create region frame and insert header 	local styles = 'border-left-color: ' .. args.color 	if args.styles ~= '' then 		styles = styles .. ';' .. args.styles 	end 	local region = mw.html.create( 'div' ) 		:addClass( 'voy-regionList' ) 		:cssText( styles ) 		:node( header )  	-- insert region items 	local items = {} 	for key, value in ipairs( args ) do 		if value ~= '' then 			table.insert( items, '[[' .. value .. ']]' ) 		end 	end 	items = table.concat( items, regList.delimiter ) 	if items ~= '' then 		region:node( mw.html.create( 'div' ) 			:addClass( 'voy-regionItems' ) 			:wikitext( items ) 		) 	end 	 	if items == '' and args.description == '' then 		region:addClass( 'voy-regionOnlyHeader' ) 	end  	return errors .. tostring( region ) end  function regList.list( frame ) 	local args, ok = checkParams( frame:getParent().args, regList.listParams ) 	args.version = tonumber( args.version ) or 1  	local errors = ok and '' or regList.categories.unknownParams 	if args.map == '' and args.imagemap == '' then 		errors = errors .. regList.categories.withoutMap 	end  	-- check map 	local map = '' 	local link = '' 	if args.imagemap == '' and args.map ~= '' then 		if args.mapLink ~= '' then 			link = '|link=' .. args.mapLink 		end 		map = mw.ustring.format( '[[File:%s|border|%s%s|class=notpageimage|%s]]', args.map, 			args.mapSize, link, args.title ) 	elseif args.imagemap ~= '' then 		map = args.imagemap 	end  	-- create region-list frame 	local list = mw.html.create( 'div' ) 		:attr( 'class', 'voy-regionListFrame' .. 			( map ~= '' and '' or ' voy-regionListFrameWithoutMap' ) .. 			' voy-regionVersion' .. args.version ) 		 	if args.styles ~= '' then 		list:cssText( args.styles ) 	end  	-- insert map 	if map ~= '' then 		list:node( mw.html.create( 'div' ) 			:addClass( 'voy-regionListMap' ) 			:wikitext( map ) 		) 	end  	-- insert regions 	for key, value in ipairs( args ) do 		if value ~= '' then 			list:wikitext( frame:preprocess( value ) ) 		end 	end  	return errors .. tostring( list ) end  return regList