模块:Uses Wikidata:修订间差异

来自悠日計画 維基百科 ~ Yuuni Wiki
已保护“Module:Uses Wikidata”:​高風險模板:515引用<!-- 機器人3 -->([编辑=仅允许自动确认用户](无限期)[移动=仅允许自动确认用户](无限期))
导入1个版本
第2行: 第2行:


function p.usesProperty(frame)
function p.usesProperty(frame)
local parent = frame.getParent(frame)
local args = frame.getParent(frame).args or nil
local result = ''
if mw.text.trim(args[1] or '') == '' then
args = frame.args
end
local result = '<ul>'
local ii = 1
local ii = 1
while true do
while true do
local p_num = parent.args[ii] or ''
local p_num = mw.text.trim(args[ii] or '')
if p_num ~= '' then
if p_num ~= '' then
local label = mw.wikibase.label(p_num) or "NO LABEL"
local label = mw.wikibase.getLabel(p_num) or "NO LABEL"
result = result .. "<li><b>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</b>&#x200B;([[d:Special:WhatLinksHere/Property:" .. p_num .. "|使用情况]])</li>"
result = result .. "<li>[[File:Disc Plain blue dark.svg|middle|4px|link=|alt=]] <b><i>[[d:Property talk:" .. p_num .. "|" .. label .. " (" .. string.upper(p_num) .. ")]]</i></b> (see <span class='plainlinks'>[https://query.wikidata.org/embed.html#SELECT%20%3FWikidata_item_%20%3FWikidata_item_Label%20%3Fvalue%20%3FvalueLabel%20%3FEnglish_Wikipedia_article%20%23Show%20data%20in%20this%20order%0A%7B%0A%09%3FWikidata_item_%20wdt%3A" .. p_num .. "%20%3Fvalue%20.%20%23Collecting%20all%20items%20which%20have%20" .. p_num .. "%20data%2C%20from%20whole%20Wikidata%20item%20pages%0A%09OPTIONAL%20%7B%3FEnglish_Wikipedia_article%20schema%3Aabout%20%3FWikidata_item_%3B%20schema%3AisPartOf%20%3Chttps%3A%2F%2Fen.wikipedia.org%2F%3E%20.%7D%20%23If%20collected%20item%20has%20link%20to%20English%20Wikipedia%2C%20show%20that%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%20%7D%20%23Show%20label%20in%20this%20language.%20%22en%22%20is%20English.%20%20%20%0A%7D%0ALIMIT%201000 uses]</span>)</li>"
ii = ii + 1
ii = ii + 1
else break
else break
end
end
end
end
result = result.."</ul>"
return result
return result
end
end
--混和模板
 
function p.Tracks_Wikidata(frame)
function p.tuProperty(frame)
local parent = frame.getParent(frame)
local parent = frame.getParent(frame)
local result = ''
local result = '<ul>'
local ii = 1
local ii = 1
while true do
while true do
local p_num = parent.args[ii] or ''
local p_num = mw.text.trim(parent.args[ii] or '')
if p_num ~= '' then
if p_num ~= '' then
local label = mw.wikibase.label(p_num) or "NO LABEL"
local label = mw.wikibase.getLabel(p_num) or "NO LABEL"
result = result .. "<li><b>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</b>&#x200B;([[d:Special:WhatLinksHere/Property:" .. p_num .. "|使用情况]]</li>"
result = result .. "<li><span style='font-size:90%;line-height:1;'>●</span>&nbsp;&nbsp;<b>[[d:Property:" .. p_num .. "|" .. label .. "]]</b> <span style='font-size:90%;'>([[d:Property talk:" .. string.upper(p_num) .. "|" .. p_num .. "]])</span></li>"
ii = ii + 1
ii = ii + 1
else break
else break
end
end
end
end
local template = frame:expandTemplate{
result = result.."</ul>"
    title = "Sister project",
return result
    args = {"image=" .. frame:expandTemplate{
        title = "Sister project",
        args = {"base = Wikidata-logo.svg",
            "base_width = 40px",
            "base_link = Wikipedia:Wikidata",
            "float = Magnifying glass icon mgx2.svg",
            "float_link = Wikipedia:Wikidata",
            "float_width = 28px",
            "x = 12",
            "y = 0"
        }},"position = " .. (parent.args["position"] or ""),
        "text = 本" .. frame:expandTemplate{title = "NS1/Wikidata"} .. "[[:Category:" .. ( parent.args["cat"] or "维基数据跟踪分类") .. "|跟踪]]" .. ( parent.args["section"] and " 一个或多个[[维基数据]]属性。更多細節請參見 [[#" .. parent.args["section"] .."|§&nbsp;" .. parent.args["section"] .. "]]" or "[[维基数据]]属性:" .. (result or ""))
    }}
return template
end
end


return p
return p

2022年9月18日 (日) 21:25的版本

<templatestyles src="Module:Message box/ombox.css"></templatestyles>

This module is used by {{Uses Wikidata}}, {{Tracks Wikidata}}, {{Tracks and uses Wikidata}} and {{Wikidata property}}.

Usage

{{#invoke:Uses Wikidata|usesProperty}}



local p = {}

function p.usesProperty(frame)
	local args = frame.getParent(frame).args or nil
	if mw.text.trim(args[1] or '') == '' then
		args = frame.args
	end
	local result = '<ul>'
	local ii = 1
	while true do
		local p_num = mw.text.trim(args[ii] or '')
		if p_num ~= '' then
			local label = mw.wikibase.getLabel(p_num) or "NO LABEL"
			result = result .. "<li>[[File:Disc Plain blue dark.svg|middle|4px|link=|alt=]] <b><i>[[d:Property talk:" .. p_num .. "|" .. label .. " (" .. string.upper(p_num) .. ")]]</i></b> (see <span class='plainlinks'>[https://query.wikidata.org/embed.html#SELECT%20%3FWikidata_item_%20%3FWikidata_item_Label%20%3Fvalue%20%3FvalueLabel%20%3FEnglish_Wikipedia_article%20%23Show%20data%20in%20this%20order%0A%7B%0A%09%3FWikidata_item_%20wdt%3A" .. p_num .. "%20%3Fvalue%20.%20%23Collecting%20all%20items%20which%20have%20" .. p_num .. "%20data%2C%20from%20whole%20Wikidata%20item%20pages%0A%09OPTIONAL%20%7B%3FEnglish_Wikipedia_article%20schema%3Aabout%20%3FWikidata_item_%3B%20schema%3AisPartOf%20%3Chttps%3A%2F%2Fen.wikipedia.org%2F%3E%20.%7D%20%23If%20collected%20item%20has%20link%20to%20English%20Wikipedia%2C%20show%20that%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%20%7D%20%23Show%20label%20in%20this%20language.%20%22en%22%20is%20English.%20%20%20%0A%7D%0ALIMIT%201000 uses]</span>)</li>"
			ii = ii + 1
		else break
		end
	end
	result = result.."</ul>"
	return result
end

function p.tuProperty(frame)
	local parent = frame.getParent(frame)
	local result = '<ul>'
	local ii = 1
	while true do
		local p_num = mw.text.trim(parent.args[ii] or '')
		if p_num ~= '' then
			local label = mw.wikibase.getLabel(p_num) or "NO LABEL"
			result = result .. "<li><span style='font-size:90%;line-height:1;'>●</span>&nbsp;&nbsp;<b>[[d:Property:" .. p_num .. "|" .. label .. "]]</b> <span style='font-size:90%;'>([[d:Property talk:" .. string.upper(p_num) .. "|" .. p_num .. "]])</span></li>"
			ii = ii + 1
		else break
		end
	end
	result = result.."</ul>"
	return result
end

return p