Modul:NameAndImage
Aspect

Afișează numele unei entități (cu link) având în stânga un simbol asociat acestuia. Numele este identificat prin ID-ul itemului de Wikidata, iar proprietatea prin codul de la Wikidata al proprietății. Procedând așa, se garantează că linkul va duce mereu către articolul corect, iar numele și imaginea vor fi unice și actuale, fără a mai face vreo modificare în urma redenumirii.
local getArgs = require('Modul:Arguments').getArgs
local wikidata = require('Modul:Wikidata')
local StringUtils = require('Modul:StringUtils')
local join = require('Modul:Separated entries')._main
local libUtils = require('libraryUtil')
local p = {}
local maxSize = { }
maxSize['P94'] = '23x23'
maxSize['P41'] = '40x40'
p._nameAndImage = function(entityId, imagePropId)
libUtils.checkTypeForNamedArg('_nameAndImage', 'imagePropId', imagePropId, 'string', false)
libUtils.checkTypeForNamedArg('_nameAndImage', 'entityId', entityId, 'string', true)
local imageName = wikidata.findOneValueNoRef(imagePropId, entityId)
local articleLink = wikidata.findLinkToItem(entityId, false)
local imageLink = ''
if imageName and mw.text.trim(imageName) ~= '' then
local maxSizeOfImage = StringUtils.appendIfMissing({maxSize[imagePropId] or '40x40', 'px'})
imageLink = '[[Fișier:' .. imageName .. '|' .. maxSizeOfImage .. ']]'
end
return mw.text.trim(join({imageLink, articleLink, separator = ' '}))
end
p.nameAndImage = function(frame)
local args = getArgs(frame)
local entityId = args[1]
local propId = args[2]
return p._nameAndImage()
end
p.nameAndCoatOfArms = function(frame)
local args = getArgs(frame)
local entityId = args[1]
return p._nameAndImage(entityId, 'P94')
end
return p