Przejdź do zawartości

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

Z Wikipedii, wolnej encyklopedii
[wersja przejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Znaczniki: Wycofane Z urządzenia mobilnego Z wersji mobilnej (przeglądarkowej)
Linia 7: Linia 7:
; <code>bez wartości</code> : treść dla wartości specjalnej ''novalue''
; <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ę
; <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ż ==
== Zobacz też ==

Wersja z 03:56, 25 cze 2024

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

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ę

Zobacz też