[editar] [

Version check
Designación de la versión en Wikidata: 2022-10-22
Uso
{{Mapshape}}
.Esta documentación es transcluida desde Módulo:Mapshape/doc.
Los editores pueden experimentar en la zona de pruebas de la plantilla.
Por favor, añade las categorías a la subpágina de documentación. Subpáginas de esta plantilla.
Los editores pueden experimentar en la zona de pruebas de la plantilla.
Por favor, añade las categorías a la subpágina de documentación. Subpáginas de esta plantilla.
-- getting a mapshape object -- documentation local Mapshape = { suite = 'Mapshape', serial = '2022-10-22', item = 65449536 } -- module import -- require( 'strict' ) local mi = require( 'Módulo:Mapshape utilities/i18n' ) local mp = require( 'Módulo:Mapshape/Params' ) local mu = require( 'Módulo:Mapshape utilities' ) local wu = require( 'Módulo:Wikidata utilities' ) -- module variable and administration local ms = { moduleInterface = Mapshape } local function getShape( args, frame ) local colorId, description, fill, id, image, stroke, title ms.entityId = mw.wikibase.getEntityIdForCurrentPage() ms.wikiLang = mw.getContentLanguage():getCode() local tagArgs = { text = '', group = mu.translateGroup( args.group ), class = 'no-icon' } local geojson = {} if args.page ~= '' then geojson = { type = 'ExternalData', service = 'page', title = mw.ustring.gsub( args.page, '[Dd]ata:', '' ) } elseif not mi.excludeOSM then -- getting first id id = mu.getFirstId( args.wikidata ) -- getting color from first id stroke = args.stroke if stroke == '' then stroke = mu.getColor( id ) if stroke == '' then stroke = mi.defaultStroke end end title = args.title description = args.description image = args.image -- getting title if only one id if id == args.wikidata then if title == '' then title = mu.getTitle( id ) end title = mu.addLink( title, id, ms.entityId, ms.wikiLang ) if args.type == 'geomask' then title = string.format( mi.geomask, title ) end if description == '' and image == '' then image = mu.getImage( id ) end else if title == '' then title = mw.title.getCurrentTitle().subpageText end if args.type == 'geomask' then title = string.format( mi.geomask, title ) end end if description == '' and image ~= '' then description = '[[file:' .. image .. '|141px]]' end fill = mu.getParameter( args.fill, mi.defaultFill ) geojson = { type = 'ExternalData', service = args.type, ids = args.wikidata, properties = { title = title, description = description, fill = fill, [ 'fill-opacity' ] = mu.getNumber( args.fillOpacity, mi.defaultFillOpacity ), stroke = stroke, [ 'stroke-width' ] = mu.getNumber( args.strokeWidth, mi.defaultStrokeWidth ), [ 'stroke-opacity' ] = mu.getNumber( args.strokeOpacity, mi.defaultStrokeOpacity ) } } end local result = '' if next( geojson ) then result = frame:extensionTag( 'maplink', mw.text.jsonEncode( geojson ), tagArgs ) end if mw.title.getCurrentTitle().namespace == 0 and mi.usePropertyCategs then result = result .. wu.getCategories( mi.properties ) .. mu.getCategories( mi.properties ) end return result end function ms.show( frame ) local args, errors = mu.checkParams( frame:getParent().args, mp, 'Mapshape', mi.msUnknown ) args.type = mu.getParameter( args.type, 'geomask' ) args.group = mu.checkGroup( args.group ) if args.wikidata == '' and args.page == '' then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() or '' if args.wikidata == '' then return mi.msMissing .. errors end elseif args.wikidata ~= '' and args.page ~= '' then return mi.msTogether .. errors end return getShape( args, frame ) .. errors end return ms