Moduł:Wikidane/format/Pfile1
< Moduł:Wikidane | format
Przejdź do nawigacji
Przejdź do wyszukiwania
Dedykowana uniwersalna wtyczka formatująca wartość cechy wskazującej pliki na Wikimedia Commons.
Wtyczka obsługuje parametr format, który jest umieszczany jako część formatująca składnię definicję ilustracji w wikikodzie: [[Plik:Jakaś nazwa pliku|format]]
. Zwykle do infoboksu należy wstawić format=240x240px
. Wtyczka automatycznie wstawia parametr alt=opis
na podstawie nazwy cechy w Wikidanych. Aby temu zapobiec należy jawnie umieścić ten parametr w treści pola format
. Jeśli plik ma dostępny niepusty kwalifikator opis ilustracji w języku polskim to jest on również dołączany do wygenerowanego wikikodu pliku.
Formatowany jest jedynie pierwszy znaleziony plik. Jeśli dana cecha udostępnia ich więcej to są one ignorowane.
Przykład
Artykuł | Wywołanie | Wikikod | Wynik |
---|---|---|---|
Warszawa | {{#invoke:Wikidane|P|P94|format=240x240px}} | [[Plik:POL Warszawa COA.svg|240x240px|alt=ilustracja herbu]] | ![]() |
Gdańsk | {{#invoke:Wikidane|P|P18|format=240x240px}} | [[Plik:Calle Dlugie Pobrzeze, Gdansk, Polonia, 2013-05-20, DD 05.jpg|240x240px|alt=ilustracja]] | ![]() |
Zobacz też
Powyższy opis jest dołączany ze strony Moduł:Wikidane/format/Pfile1/opis. (edytuj | historia)
Zobacz podstrony tego modułu. |
return {
scope = "props",
format = function(props, options)
if #props <= 0 then
return
end
for k, v in ipairs(props) do
local item = {}
if (v.type == "statement") and ((v.rank == "normal") or (v.rank == "preferred")) then
if v.mainsnak and (v.mainsnak.snaktype == "value") and (v.mainsnak.datatype == "commonsMedia") and v.mainsnak.datavalue and (v.mainsnak.datavalue.type == "string") then
local value = v.mainsnak.datavalue.value
if #value > 0 then
local alt = mw.wikibase.label(v.mainsnak.property)
local description = require("Moduł:Wikidane/format/qualifiers").TEXT1(v, nil, "P2096")
local result = {}
table.insert(result, "[[Plik:")
table.insert(result, value)
if options and options.format and (#options.format > 0) then
table.insert(result, "|")
table.insert(result, options.format)
if mw.ustring.match(options.format, "^%s*alt%s*=") or mw.ustring.match(options.format, "|%s*alt%s*=") then
alt = false
end
end
if alt and (#alt > 0) then
table.insert(result, "|alt=")
table.insert(result, alt)
end
if description and (#description > 0) then
table.insert(result, "|")
table.insert(result, description)
end
table.insert(result,"]]")
return table.concat(result)
end
end
end
end
end,
}