Modulo:Commonscat
Dokumentado por ĉi tiu modulo povas esti kreata ĉe Modulo:Commonscat/dokumentado
require('strict')
local p = {}
function p.print(frame)
local parent = frame:getParent()
local params = parent and parent.args or {}
local title = mw.title.getCurrentTitle()
local pagename = title.text
local namespace = title.namespace
local link, show, cats = '', '', ''
local Wikidata = require 'Modulo:Wikidata2'
local wd = false
local sitelink = Wikidata.getSitelinkFromLua{ site = 'commonswiki' }
local property = Wikidata.getRawValueFromLua{ property = 'P373' }
if params[1] and params[1] ~= '' then
link = 'Category:' .. params[1]
if (
(namespace == 0 or namespace == 14) and
(not params['loke'] or params['loke'] ~= 'jes')
) then
if not property then
cats = cats .. '[[Kategorio:Komuneja kategorio ne estas en Vikidatumoj|' .. pagename .. ']]'
end
-- local Check = require 'Modul:WikidataCheck'
-- cats = cats .. Check.wikidatacheck({ args =
-- { value = link, category = 'Commonscat', property = 'P373', namespaces = '0,14' }
-- }) or ''
end
else
if property then
link = 'Category:' .. property -- upřednostni vlastnost
wd = true
else
link = sitelink -- vlastnost není, zkus odkaz z Wikidat
if not (link and mw.ustring.find(link, 'Category:')) then
link = 'Category:' .. pagename -- nebo název stránky
else
wd = true
end
end
end
-- pokud dostupné, srovnej vlastnost i odkaz
if (
sitelink and mw.ustring.find(sitelink, 'Category:')
and property and sitelink ~= ('Category:' .. property)
) then
cats = cats .. '[[Kategorio:Komuneja kategorio kun loka ligilo malsama kiel en Vikidatumoj|' .. pagename .. ']]'
end
if params[2] and params[2] ~= '' then
show = params[2] -- zobraz lokální popis
elseif namespace ~= 0 then
show = pagename
else
show = mw.wikibase.label() -- nebo štítek
if not show or show == '' then
show = pagename -- nebo název stránky
cats = cats .. '[[Kategorio:Artikoloj sen etikedon en Vikidatumoj|' .. pagename .. ']]'
end
end
local output = ""
output = output .. "<span class=\"sisterproject sisterproject-commons\">"
output = output .. "<span class=\"sisterproject_image\">[[Dosiero:Commons-logo.svg|16x16px|alt=Logo Wikimedia Commons|link=Wikimedia Commons]]</span> "
output = output .. "<span class=\"sisterproject_text\">Bildoj, sonoj kaj videoj pri temo "
output = output .. "<span class=\"sisterproject_text_target\">[[c:" .. link .. "|" .. show .. "]]</span> "
output = output .. "en [[Vikimedia Komunejo]]</span>"
output = output .. "</span>" .. cats
if wd then
local lib = require 'Modulo:Wikidata2/lib'
output = lib.addWdClass(output)
end
output = frame:preprocess(output)
return output
end
return p