(Go: >> BACK << -|- >> HOME <<)

Moduł:Wikidane/format/opis: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Znaczniki: Wycofane Z urządzenia mobilnego Z wersji mobilnej (przeglądarkowej)
m Wycofano edycję użytkownika 2A00:F41:2808:4F6:F918:2273:4F90:6E7F (dyskusja). Autor przywróconej wersji to MalarzBOT.
Znacznik: Wycofanie zmian
 
Linia 7:
; <code>bez wartości</code> : treść dla wartości specjalnej ''novalue''
; <code>format</code> : tekst do formatowania treści, jeśli obsługiwane przez wtyczkę
 
== Wtyczka ==
Wtyczka jest tablicą asocjacyjną zawierającą następujące elementy:
; <code>scope</code> : obowiązkowe pole typu tekstowego zawierające identyfikator akceptowanego typu danych do formatowania przez wtyczkę
; <code>format</code> : obowiązkowe pole typu funkcyjnego zawierające funkcję zamieniającą dane na tekst do wyświetlenia
; <code>options</code> : opcjonalne pole do definiowania parametrów dla funkcji <code>format</code>
 
Wybór wtyczki jest wybierany na podstawie parametru <code>procesor</code>, który zawiera pełną nazwę modułu implementującego wtyczkę, lub jeśli nie podano na podstawie identyfikatora cechy. Podanie pustego parametru <code>procesor</code> oznacza użycie uniwersalnej wtyczki formatującej wynik.
 
Szablon typowego modułu formatującego cechę to
<syntaxhighlight lang="lua">
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,
 
}
</syntaxhighlight>
 
=== <code>scope</code> ===
Dopuszczalne wartości pola to:
; <code>snak</code> : podstawowa struktura definiujące jednostkę danych, zwykle wartość cechy (<code>mainsnak</code>) lub kwalifikator
; <code>prop</code> : pełna cecha zawierająca <code>mainsnak</code>, kwalifikatory i źródła
; <code>props</code> : tablica cech
 
=== <code>format</code> ===
Funkcja formatująca wartość cechy. Przyjmuje dwa parametry:
; dane : tablica asocjacyjna z danymi w zakresie określonym polem <code>scope</code>
; opcje : tablica asocjacyjna z parametrami
<syntaxhighlight lang="lua">
format = function{dane, opcje)
...
end,
</syntaxhighlight>
 
=== <code>options</code> ===
Jeśli pole jest tablicą to opcje dla wtyczki są inicjowane parametrami standardowymi (oprócz pola <code>procesor</code>) oraz parametrami zadeklarowanymi w tabeli. Dodatkowo pole <code>default</code> służy do zdefiniowania parametrów z wartościami domyślnymi. Przykład:
<syntaxhighlight lang="lua">
options = {
"kij",
"marchewka",
default = {
["kij"] = "lipowy",
["żarcik"] = true,
},
},
</syntaxhighlight>
W powyższym kodzie zostały zdefiniowane dwa parametry <code>kij</code> i <code>marchewka</code> oraz domyślna wartość dla parametru <code>kij</code>. Natomiast <code>żarcik</code> 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ż ==