Модуль:Wikibase

Матеріал з Вікімандрів

Документацію для цього модуля можна створити у Модуль:Wikibase/документація

-- Module:Wikibase
local p = {}
 
-- Return the item ID of the item linked to the current page.
function p.id(frame)
        if not mw.wikibase then
           return "wikibase module not found"
        end
 
        entity = mw.wikibase.getEntityObject()
 
        if entity == nil then
           return "(no item connected)"
        end
 
        return entity.id
end
 
-- Return the label of a given data item.
function p.label(frame)
        if frame.args[1] == nil then
            entity = mw.wikibase.getEntityObject()
            if not entity then return nil end
 
            id = entity.id
        else
            id = frame.args[1]
        end
 
        return mw.wikibase.label( id )
end
 
-- Return the local page about a given data item.
function p.page(frame)
        if frame.args[1] == nil then
            entity = mw.wikibase.getEntityObject()
            if not entity then return nil end
 
            id = entity.id
        else
            id = frame.args[1]
        end
 
        return mw.wikibase.sitelink( id )
end

function getImageLink( id, width)
--    if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
--    return entity


    local entity = mw.wikibase.getEntityObject(id)
    if not entity or not entity.claims then return end --the entity doesnt exist or have no claims
    local property = entity.claims[propName or "p18"]
    if property then
        local width = width or "220"
        return mw.ustring.format( '[[File:%s|%spx]]', property[0].mainsnak.datavalue.value, width )
    end
end
 
--use this function to get associated image to be used in the article
function p.imageLink( frame )
    if frame.args[1] == nil then
        entity = mw.wikibase.getEntityObject()
        if not entity then return nil end
        id = entity.id
    else
        id = frame.args[1]
    end
    return getImageLink( id, frame.args["width"])
end

return p