Module:Infobox road/map: Difference between revisions

From Pantonian Republic Wiki
Jump to navigation Jump to search
(infobox is slightly wider now)
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 11: Line 11:
if args.map_custom == "yes" then
if args.map_custom == "yes" then
return format('<div style="white-space:nowrap;">%s</div>', map)
return format('<div style="white-space:nowrap;">%s</div>', map)
end
if map == '' then
local entity = mw.wikibase.getEntityObject() or {}
local claims = entity.claims or {}
local mapProp = claims.P15
if not mapProp or mapProp[1].mainsnak.snaktype ~= 'value' then
return ""
end
map = mapProp[1].mainsnak.datavalue.value
end
end



Latest revision as of 09:27, 22 November 2023

Documentation for this module may be created at Module:Infobox road/map/doc

local p = {}

local format = mw.ustring.format

local mapsizes = {
	DEU = "200",
}

function p._map(args)
	local map = args.map or ''
	if args.map_custom == "yes" then
		return format('<div style="white-space:nowrap;">%s</div>', map)
	end

	local mapsize = mapsizes[args.country] or '300'
	local alt = args.map_alt or ''
	return format("[[File:%s|%spx|alt=%s]]", map, mapsize, alt)
end

function p.map(frame)
	local argsModule = require("Module:Arguments")
	local args = argsModule.getArgs(frame)
	local state = args.state or args.province
	if not args.country then
		local countryMask = mw.loadData("Module:Road data/countrymask")
		args.country = countryMask[state]
	end
	return p._map(args)
end

return p