Moduł:Wikidane/format/opis
Główny moduł implementujący funkcję {{#invoke:Wikidane|P}}. Nie jest przeznaczony do bezpośredniego wywołania. Implementuje mechanizm wywoływania wtyczek używanych do formatowania cech z Wikidanych, które są wyświetlane w infoboksach.
Standardowe parametry[edytuj kod]
procesor
- wskazanie dedykowanej wtyczki do formatowania
link
- włączenie lub wyłączenie generowania linków, jeśli obsługiwane przez wtyczkę
separator
- sposób konwersji listy cech na końcową postać tekstową
bez wartości
- treść dla wartości specjalnej novalue
format
- tekst do formatowania treści, jeśli obsługiwane przez wtyczkę
Wtyczka[edytuj kod]
Wtyczka jest tablicą asocjacyjną zawierającą następujące elementy:
scope
- obowiązkowe pole typu tekstowego zawierające identyfikator akceptowanego typu danych do formatowania przez wtyczkę
format
- obowiązkowe pole typu funkcyjnego zawierające funkcję zamieniającą dane na tekst do wyświetlenia
options
- opcjonalne pole do definiowania parametrów dla funkcji
format
Wybór wtyczki jest wybierany na podstawie parametru procesor
, który zawiera pełną nazwę modułu implementującego wtyczkę, lub jeśli nie podano na podstawie identyfikatora cechy. Podanie pustego parametru procesor
oznacza użycie uniwersalnej wtyczki formatującej wynik.
Szablon typowego modułu formatującego cechę to
local moduleData = require("Moduł:Wikidane/data") -- zbiór podstawowych stałych
local format = require("Moduł:Wikidane/format/snak").format -- uniwersalna wtyczka formatująca minimalną podstawową jednostkę danych
return {
scope = "prop",
format = function{prop, opcje)
...
end,
}
scope
[edytuj kod]
Dopuszczalne wartości pola to:
snak
- podstawowa struktura definiujące jednostkę danych, zwykle wartość cechy (
mainsnak
) lub kwalifikator prop
- pełna cecha zawierająca
mainsnak
, kwalifikatory i źródła props
- tablica cech
format
[edytuj kod]
Funkcja formatująca wartość cechy. Przyjmuje dwa parametry:
- dane
- tablica asocjacyjna z danymi w zakresie określonym polem
scope
- opcje
- tablica asocjacyjna z parametrami
format = function{dane, opcje)
...
end,
options
[edytuj kod]
Jeśli pole jest tablicą to opcje dla wtyczki są inicjowane parametrami standardowymi (oprócz pola procesor
) oraz parametrami zadeklarowanymi w tabeli. Dodatkowo pole default
służy do zdefiniowania parametrów z wartościami domyślnymi. Przykład:
options = {
"kij",
"marchewka",
default = {
["kij"] = "lipowy",
["żarcik"] = true,
},
},
W powyższym kodzie zostały zdefiniowane dwa parametry kij
i marchewka
oraz domyślna wartość dla parametru kij
. Natomiast żarcik
nie jest parametrem możliwym do podania w wywołaniu funkcji, jest więc jakby predefiniowaną stałą.
Jeśli pole jest funkcją to żadne parametry nie są standardowo ładowane, a za przygotowanie wszystkich opcji odpowiedzialna jest zadeklarowana funkcja.
Jeśli pole nie jest ani tablicą ani funkcją, to wtyczka jest wywołana z pustą tablicą opcji.
Zobacz też[edytuj kod]
- Moduł:Wikidane/format/snak - uniwersalna wtyczka do formatowania podstawowej jednostki danych
- Lista predefiniowanych wtyczek