Mòdul:Wikibase/proves
Aparença
Podeu crear la pàgina d'ús per documentar aquest mòdul Lua. |
-- Module:Wikibase
local p = {}
-- Return the item ID of the item connected to the current page or connected to a page title via a sitelink.
-- mw.wikibase.getEntityIdForCurrentPage, mw.wikibase.getEntityIdForTitle
function p.id(frame)
local page_title = frame.args[1] and mw.text.trim(frame.args[1])
if page_title == nil or page_title == '' then
return mw.wikibase.getEntityIdForCurrentPage()
end
return mw.wikibase.getEntityIdForTitle(page_title)
end
-- Return the label of a given data item, optionally in a given language.
-- mw.wikibase.getLabel, mw.wikibase.getLabelByLang
function p.label(frame)
local id
if frame.args[1] == nil then
id = mw.wikibase.getEntityIdForCurrentPage()
if not id then return nil end
else
id = mw.text.trim(frame.args[1])
end
if frame.args[2] then
return mw.wikibase.getLabelByLang(id, mw.text.trim(frame.args[2]))
end
return mw.wikibase.getLabel(id)
end
-- Return the description of a given data entity, optionally in a given language.
-- mw.wikibase.getDescription
function p.description(frame)
local id = frame.args[1] and mw.text.trim(frame.args[1]) or nil
local lang = frame.args[2] and mw.text.trim(frame.args[2]) or nil
local entity = mw.wikibase.getEntity(id)
if not entity then return nil end
return entity:getDescription(lang)
end
-- Return the local page about a given data item, optionary in a given wiki.
-- mw.wikibase.getSitelink
function p.getSiteLink(frame)
local id = frame.args[1] and mw.text.trim(frame.args[1])
if id == nil or id == '' then
id = mw.wikibase.getEntityIdForCurrentPage()
if not id then return nil end
end
return mw.wikibase.getSitelink(id, mw.text.trim(frame.args[2] or ''))
end
-- Return first lemma and language for a lexeme
-- entity:getLemmas()
function p.getLemma(frame) -- simple for simple templates like {{Q|}}}
local entity = mw.wikibase.getEntity(frame.args[1])
if not entity then
return
end
local lemmas = entity:getLemmas()
return lemmas[1][1] .. " <sup>(" .. lemmas[1][2] .. ")</sup>"
end
-- returns 2 for featured article, 1 for good article, otherwise 0
function p.badgelevel(frame)
local qid = frame.args[1] or mw.wikibase.getEntityIdForCurrentPage()
local wiki = frame.args[2] -- defaults to the local wiki
local badges = mw.wikibase.getBadges(qid, wiki)
local level = 0
for _, badge in ipairs(badges) do
if badge == "Q17437796" then
level = 2
elseif badge == "Q17437798" then
level = 1
end
end
return level
end
return p