Wikipedia sgwiki https://sg.wikipedia.org/wiki/G%C3%A4_nz%C3%B6n%C3%AE MediaWiki 1.46.0-wmf.26 first-letter Média Spécial Discussion Utilisateur Discussion utilisateur Wikipedia Discussion Wikipedia Fichier Discussion fichier MediaWiki Discussion MediaWiki Modèle Discussion modèle Aide Discussion aide Catégorie Discussion catégorie TimedText TimedText talk Module Discussion module Event Event talk Modèle:Databox 10 4065 21881 19926 2026-04-29T12:15:41Z Danny Benjafield (WMDE) 6596 Create new parameters to choose a preferred image phab:T400318, and select properties to hide phab:T400319 on behalf of Wikidata For Wikimedia Projects team. 21881 wikitext text/x-wiki {{#invoke:Databox|databox|useImage={{{useImage|}}}|excludeProperties={{{excludeProperties|}}}}} <noinclude>{{Documentation}}</noinclude> 4e8lawmro6frtxxs4shfjg1lrwkypvp Module:Databox 828 4066 21880 19927 2026-04-29T12:14:23Z Danny Benjafield (WMDE) 6596 Add new parameter (useImage) to choose displayed image phab:T400318. Add new parameter (excludeProperties) to hide properties on current page phab:T400319. Add Wikidata Icon + link to connected Item phab:T400322 21880 Scribunto text/plain -- A more extensive version is stored and documented at the Swedish Wikipedia site, sv.wikipedia.org/wiki/Modul:Databox -- It is supposed to work for any language. -- Properties excluded for all Databoxes in Sängö Wikipedia local site_excluded_properties = { 'P360', --is a list of 'P4224', --category contains 'P935', -- Commons gallery 'P1472', -- Commons Creator page 'P1612', -- Commons Institution page 'P373', -- Commons category 'P3722', -- Commons maps category 'P1151', -- topic's main Wikimedia portal 'P1424', -- topic's main template 'P910', -- topic's main category 'P1200', -- bodies of water basin category 'P1792', -- category of associated people 'P1464', -- category for people born here 'P1465', -- category for people who died here 'P1791', -- category of people buried here 'P1740', -- category for films shot at this location 'P2033', -- Category for pictures taken with camera 'P2517', -- category for recipients of this award 'P4195', -- category for employees of the organization 'P1754', -- category related to list 'P301', -- category's main topic 'P971', -- category combines topics 'P3876', -- category for alumni of educational institution 'P1753', -- list related to category 'P3921', -- Wikidata SPARQL query equivalent 'P1204', -- Wikimedia portal's main topic 'P1423', -- template's main topic 'P1709', -- equivalent class 'P3950', -- narrower external class 'P2888', -- exact match 'P1382', -- coincident with 'P527', -- has part 'P2670', -- has parts of the class 'P3113', -- does not have part 'P2737', -- union of 'P2738', -- disjoint union of 'P2445', -- metasubclass of 'P1963', -- properties for this type 'P3176', -- uses property 'P1889', -- different from 'P460', -- said to be the same as 'P2959', -- permanent duplicated item 'P2860', -- cites 'P5125', -- wikimedia outline 'P5008', -- on focus list of Wikimedia project 'P2559', -- Wikidata usage instructions 'P1343', -- described by source 'P972', -- catalogu 'P1282', -- OSM tag or key 'P4839', -- Wolfram Language entity code 'P6104', -- Maintained by Wikiproject 'P5996' -- Category for films in this language } function valuesToKeys(array) local result = {} for _, v in pairs(array) do result[v] = true end return result end local p = {} function p.databox(frame) local args = frame:getParent().args local argsLocal = frame.args local itemId = nil if args.item then itemId = args.item end local argsLocal = frame.args local useImage = nil if argsLocal.useImage then useImage = argsLocal["useImage"] end -- excludeProperties is a local parameter to exclude given properties for a Databox on a specific page local excludeProperties = {} if argsLocal.excludeProperties then for item in string.gmatch(argsLocal.excludeProperties, "[^,]+") do table.insert(excludeProperties, item) end end local lang = mw.language.getContentLanguage() local item = mw.wikibase.getEntity(itemId) if item == nil then mw.addWarning("Wikidata item not found") return "" end local databoxRoot = mw.html.create('div') :addClass('infobox') :css({ float = 'right', border = '1px solid #aaa', ['max-width'] = '300px', padding = '0 0.4em', margin = '0 0 0.4em 0.4em', }) --Title databoxRoot:tag('div') :css({ ['text-align'] = 'center', ['background-color'] = '#f5f5f5', padding = '0.5em 0', margin = '0.5em 0', ['font-size'] = '120%', ['font-weight'] = 'bold', }) :wikitext(item:getLabel() or mw.title.getCurrentTitle().text) --Image local databoxImage = nil if useImage and useImage ~= "" then local allWikidataImages = item:getAllStatements('P18') if #allWikidataImages >= 1 then for _, image in ipairs( allWikidataImages ) do if image.mainsnak.datavalue.value == useImage then databoxImage = useImage break end end end end if databoxImage == nil then local bestWikidataImages = item:getBestStatements('P18') if #bestWikidataImages >= 1 then databoxImage = bestWikidataImages[1].mainsnak.datavalue.value end end if databoxImage then databoxRoot :tag('div') :wikitext('[[File:' .. databoxImage .. '|frameless|300px]]') end --Table local dataTable = databoxRoot :tag('table') :css({ ['text-align'] = 'left', ['font-size'] = '90%', ['word-break'] = 'break-word', ['width'] = '100%', ['table-layout'] = 'fixed', }) dataTable:tag('caption') :addClass('notheme') :css({ ['background-color'] = '#f5f5f5', ['font-weight'] = 'bold', ['margin-top'] = '0.2em', }) :wikitext(item:formatStatements('P31').value) local properties = mw.wikibase.orderProperties(item:getProperties()) local site_excluded_properties_hash = valuesToKeys(site_excluded_properties) site_excluded_properties_hash['P31'] = true --Special property local excludeProperties_hash = valuesToKeys(excludeProperties) local edit_message = mw.message.new('vector-view-edit'):plain() for _, property in pairs(properties) do local datatype = item.claims[property][1].mainsnak.datatype local valueCount = #item:getBestStatements(property) if datatype ~= 'commonsMedia' and datatype ~= 'external-id' and datatype ~= 'quantity' and datatype ~= 'wikibase-property' and datatype ~= 'geo-shape' and datatype ~= 'tabular-data' and not site_excluded_properties_hash[property] and not excludeProperties_hash[property] and valueCount > 0 and valueCount <= 5 then local propertyValue = item:formatStatements(property) dataTable:tag('tr') :tag('th') :attr('scope', 'row') :wikitext(lang:ucfirst(propertyValue.label)):done() :tag('td') :wikitext(frame:preprocess(propertyValue.value)) :wikitext('&nbsp;[[File:OOjs UI icon edit-ltr.svg|' .. edit_message .. '|12px|baseline|class=noviewer skin-invert|link=https://www.wikidata.org/wiki/' .. item.id .. '#' .. property .. ']]') end end --Map local coordinates_statements = item:getBestStatements('P625') if #coordinates_statements >= 1 and coordinates_statements[1].mainsnak.datavalue and coordinates_statements[1].mainsnak.datavalue.value.globe == 'http://www.wikidata.org/entity/Q2' then --We build the call to mapframe local latitude = coordinates_statements[1].mainsnak.datavalue.value.latitude local longitude = coordinates_statements[1].mainsnak.datavalue.value.longitude local geojson = { type = 'Feature', geometry = { type = 'Point', coordinates = { longitude, latitude } }, properties = { title = item:getLabel() or mw.title.getCurrentTitle().text, ['marker-symbol'] = 'marker', ['marker-color'] = '#224422', } } databoxRoot:wikitext(frame:extensionTag('mapframe', mw.text.jsonEncode(geojson), { height = 300, width = 300, frameless = 'frameless', align = 'center', latitude = latitude, longitude = longitude, zoom = zoom })) end --Wikidata Link databoxRoot:tag('div') :css({ ['display'] = 'flex', padding = '0.3em 0', ['width'] = '100%', ['font-size'] = '90%', }) :addClass('databox-from-wikidata-link') :wikitext('&nbsp;[[File:Wikidata-logo.svg|22px|class=noviewer|link=https://www.wikidata.org/wiki/' .. item.id .. ']]') :tag('div') :css({ margin = '0.05em 0 0 0', }) :wikitext('&nbsp;[[d:' .. item.id .. '|<span title="The information in this section originates from Wikidata. Click to visit this article\'s Wikidata page">From Wikidata</span>]]') return tostring(databoxRoot) end return p ojj6kl9g34fxw1pbxm7v2h8wfrehghc Utilisateur:James500 2 4488 21882 20747 2026-04-29T19:33:00Z James500 6150 Remove template 21882 wikitext text/x-wiki {{Babel|en}} [[en:User:James500]] b167mzfa599c51y3hjzn4f18lk01tb1