Modul:Uses Wikidata
Erscheinungsbild
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
--[=[ Uses Wikidata 2022-06-08
as of en.wikipedia.org
for use in template documentation
* usesProperty show wikiData properties accessed in a template
* tuProperty track and use properties accessed in a template
]=]
local p = {}
local logo = '[[Datei:Wikidata-logo-en.svg|250px]]'
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>'
for _, v in ipairs(args) do
local p_num = mw.text.trim(v)
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'>[htt"
.. "ps://query.wikidata.org/embed.html#SELECT%20DI"
.. "STINCT%20%3Fitem%20%3FitemLabel%20WHERE%20%7B%"
.. "0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%"
.. "3AserviceParam%20wikibase%3Alanguage%20%22de%2"
.. "2.%20%7D%0A%20%20%7B%0A%20%20%20%20SELECT%20DI"
.. "STINCT%20%3Fitem%20WHERE%20%7B%0A%20%20%20%20%"
.. "20%20%3Fitem%20p%3AP527%20%3Fstatement0.%0A%20"
.. "%20%20%20%20%20%3Fstatement0%20%28ps%3A"
.. p_num .. "%2F%28wdt%3A" .. "P279"
.. "%2a%29%29%20%3Finstance.%0A%20%20%20%20%7D%0A%"
.. "20%20%20%20LIMIT%20100%0A%20%20%7D%0A%7D uses]"
.. "</span>)</li>"
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> <b>[[d:Property:"
.. p_num .. "|" .. label .. "]]</b> <span style='f"
.. "ont-size:90%;'>([[d:Property talk:"
.. string.upper(p_num) .. "|" .. p_num .. "]])</sp"
.. "an></li>"
ii = ii + 1
else break
end
end
result = result.."</ul>"
return result
end
return p