Modul:CommonsLink
Vzhled
Účelem modulu CommonsLink je sjednocení přebírání odkazů na galerie a kategorie Wikimedia Commons z Wikidat.
Použití
{{#invoke:CommonsLink|gallery}}
- z položky Wikidat přebere vlastnost galerie na Commons (P935), pokud je dostupná, případně mezijazykový odkaz, pokud odkazuje do hlavního jmenného prostoru
- pokud není nalezen vhodný odkaz, provede se to samé i v položce, na kterou se ze stávající odkazuje pomocí hlavní kategorie tématu (P910) (pokud taková existuje)
{{#invoke:CommonsLink|category}}
- z položky Wikidat přebere vlastnost kategorie na Commons (P373), pokud je dostupná, případně mezijazykový odkaz, pokud odkazuje do jmenného prostoru kategorií
- pokud není nalezen vhodný odkaz, provede se to samé i v položce, na kterou se ze stávající odkazuje pomocí hlavní kategorie tématu (P910) (pokud taková existuje)
{{#invoke:CommonsLink|any}}
- odpovídá
category or gallery
, tj. přebere kategorii nebo galerii, pokud kategorie není dostupná (prakticky využitelné pouze slink=true
)
Parametr prefix=true
vynutí název stránky se jmenným prostorem (u kategorií). Parametr link=true
změní výstup modulu na interwiki odkaz.
require 'Modul:No globals'
local WD = require 'Modul:Wikidata'
local lib = require 'Modul:Wikidata/lib'
local p = {}
function p._gallery(args)
local myargs = mw.clone(args)
myargs.property = 'P935'
local link = WD.getRawValueFromLua(myargs)
if not link then
myargs.site = 'commonswiki'
link = WD.getSitelinkFromLua(myargs)
if not link or mw.ustring.sub(link, 1, #'Category:') == 'Category:' then
return nil
end
end
if lib.IsOptionTrue(myargs, 'link') then
return mw.ustring.format('[[c:%s|%s]]', link, link)
end
return link
end
function p.gallery(frame)
return p._gallery(frame.args)
end
function p._category(args)
local myargs = mw.clone(args)
myargs.property = 'P373'
local link = WD.getRawValueFromLua(myargs)
if not link then
myargs.site = 'commonswiki'
link = WD.getSitelinkFromLua(myargs)
if not link or mw.ustring.sub(link, 1, #'Category:') ~= 'Category:' then
return nil
else
link = mw.ustring.sub(link, #'Category:' + 1)
end
end
if lib.IsOptionTrue(myargs, 'link') then
return mw.ustring.format('[[c:Category:%s|%s]]', link, link)
end
if lib.IsOptionTrue(myargs, 'prefix') then
return 'Category:' .. link
end
return link
end
function p.category(frame)
return p._category(frame.args)
end
function p._any(args)
return p._category(args) or p._gallery(args)
end
function p.any(frame)
return p._any(frame.args)
end
return p