Модуль:Рэдагаваць у Вікізьвестках

Зьвесткі зь Вікіпэдыі — вольнай энцыкляпэдыі
Перайсьці да навігацыі Перайсьці да пошуку

Дакумэнтацыю да гэтага модуля можна стварыць у Модуль:Рэдагаваць у Вікізьвестках/Дакумэнтацыя

-- Модуль дзеля адлюстраваньня абразку з падказай накшталт «Адрэдагаваць у Вікізьвестках.
-- Абразок будзе зьвязаны з запісам пра артыкул у Вікізьвестках.
-- Паведамленьне адлюстроўваецца толькі калі не адключаны лякальным парамэтрам.
-- Дзеля тэставаньня па-за прасторай артыкулаў можна карыстацца парамэтрам «qid».
-- Выкарыстаньне:
-- {{#invoke:EditAtWikidata|showMessage|лякальны_парамэтар}}
-- {{#invoke:EditAtWikidata|showMessage|qid=<IDартыкулу>|лякальны_парамэтар}}

local p = {}

local i18n =
{
	["message"] = "Адрэдагаваць у Вікізьвестках"
}

p.showMessage = function(frame)
	-- Калі лякальны парамэтар не зададзены, усталяваць яго пустым
	local local_parm =  mw.text.trim(frame.args[1] or "")
	if local_parm and (local_parm == "") then local_parm = nil end

	-- Калі лякальны парамэтар зададзены, гэтае паведамленьне не адлюстроўваць
	if local_parm then return nil end

	-- Можна перадаць найменаваны парамэтар «qid» — ID артыкулу ў Вікізьвестках.
	-- Не прымяняць у артыкулах, толькі для тэставых мэтаў.
	local qid = frame.args.qid
	if qid and (qid == "") then qid = nil end

	-- Можна перадаць парамэтар «pid», які стварае спасылку на ўласьцівасьць
	-- Вікізьвестак для артыкулу
	local propertyID = mw.text.trim(frame.args.pid or "")

	-- Узяць аб’ект з усімі сьцьверджаньнямі для артыкулу
	local entity = mw.wikibase.getEntityObject(qid)
	if entity then
		local thisQid
		if qid then thisQid = qid else thisQid = entity.id end
		return
			" [[Файл:Blue pencil.svg |frameless |text-top |10пкс |alt=" ..
			i18n.message ..
			" |link=https://www.wikidata.org/wiki/" ..
			thisQid ..
			(propertyID == "" and "" or ("#" .. propertyID)) ..
			"|" .. i18n.message .. "]]"
	end
end

return p