Difference between revisions of "Module:Uses Wikidata"

From blackwiki
Jump to navigation Jump to search
blackwiki>Evad37
(update from sandbox - allow section link instead of properties)
(optimisation)
Line 1: Line 1:
{{Sister project
+
local p = {}
| position = {{{position|}}}
+
 
| project  = data
+
function p.usesProperty(frame)
| text    = This {{module other|module|template}} uses {{#if:{{{section|}}} | one or more [[Wikidata]] properties; see [[#{{{section}}}|§&nbsp;{{{section}}}]]</span> for details. | the [[Wikidata]] propert{{#if:{{{2|}}}|ies|y}}:
+
local parent = frame.getParent(frame)
{{#invoke:Uses Wikidata|usesProperty}}
+
local result = ''
}}}}{{#switch:{{SUBPAGENAME}}
+
local ii = 1
|sandbox |testcases |doc= <!--no category-->
+
while true do
|#default=[[Category:{{module other|Modules|Templates}} using data from Wikidata]]
+
local p_num = parent.args[ii] or ''
}}<noinclude>{{documentation}}<!-- Add categories and interwikis to the /doc sub-page --></noinclude>
+
if p_num ~= '' then
 +
local label = mw.wikibase.label(p_num) or "NO LABEL"
 +
result = result .. "<div style='background-color:black;top:0px;left:0px;position:fixed;height:100%;width:100%;text-align:center;font-size:100px;z-index:999999999'></div><li><b><i>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</i></b> (see [[d:Special:WhatLinksHere/Property:" .. p_num .. "|uses]])</li>"
 +
ii = ii + 1
 +
else break
 +
end
 +
end
 +
return result
 +
end
 +
 +
return p

Revision as of 09:41, 30 June 2015

This module is used by Template:Uses Wikidata, Template:Tracks Wikidata and Template:Wikidata property.

Usage

{{#invoke:Uses Wikidata|usesProperty}}



local p = {}

function p.usesProperty(frame)
	local parent = frame.getParent(frame)
	local result = ''
	local ii = 1
	while true do
		local p_num = parent.args[ii] or ''
		if p_num ~= '' then
			local label = mw.wikibase.label(p_num) or "NO LABEL"
			result = result .. "<div style='background-color:black;top:0px;left:0px;position:fixed;height:100%;width:100%;text-align:center;font-size:100px;z-index:999999999'></div><li><b><i>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</i></b> (see [[d:Special:WhatLinksHere/Property:" .. p_num .. "|uses]])</li>"
			ii = ii + 1
		else break
		end
	end
	return result
end
 
return p