- Rozszerzenie jest domyślnie włączone na Fandomie.
Funkcje parsera to fragment kodu MediaWiki, rozszerzający funkcjonalność szablonów o wykonywanie wszelakich operacji logicznych. Podczas renderowania strony funkcje parsera używają podanych parametrów, aby wyświetlić konkretny wynik.
Składnia funkcji jest podobna do składni szablonów umieszczanych na stronie – zamknięte są w nawiasach klamrowych. Najprostszym sposobem na zidentyfikowanie funkcji parsera, jest występowanie w niej znaku krzyżyka (#) lub dwukropka (:) (lub obu, jak np. w funkcji {{#if:...).
Listę wszystkich funkcji parsera dostępnych na wiki znaleźć można na stronie Specjalna:Wersja.
Krok po kroku[]
- Znajdź funkcję parsera, która pomoże ci w wykonaniu konkretnego zadania. Istnieje wiele różnych funkcji, więc koniecznie sprawdź, która sprawdzi się najlepiej. W poniższej sekcji znajdziesz dodatkowe informacje o każdej z nich oraz linki kierujące do ich pełnej dokumentacji.
- Sprawdź składnię funkcji, której chcesz użyć. Na potrzeby tego poradnika krok po kroku używać będziemy funkcji parsera
{{#ifexpr:}}
(jeśli wyrażenie), która dostępna jest domyślnie na całym Fandomie. - Użyj składni:
{{#ifexpr: 1 > 0 | tak | nie }}
W powyższym przykładzie użyliśmy matematycznego wyrażenia (1 > 0), ustaliliśmy wynik tak, jeśli wyrażenie jest poprawne oraz nie, jeśli jest błędne. - Zapisz stronę i sprawdź, czy funkcja zwraca oczekiwaną wartość. W naszym przykładzie wynikiem powinno być tak, ponieważ liczba 1 jest większa od 0.
{{#ifexpr: 1 > 0 | tak | nie }} → tak.
Zauważ, co by się stało, gdybyśmy zachowali zwracane wartości, jednak zmodyfikowali wyrażenie. Wówczas funkcja zwraca nie, ponieważ wyrażenie jest fałszywe – 0 nie jest większe od 1.
{{#ifexpr: 1 < 0 | tak | nie }} → nie.
Choć powyższy przykład może wydawać się bezsensowny (w końcu każdy wie, że 1 jest większe od 0), moc parsera ujawnia się dopiero w bardziej praktycznych przykładach. Załóżmy, że piszesz infoboks dla postaci z programu telewizyjnego. Chcesz podać jej wiek i określić czy jest pełnoletnia, czy nie.
Jeśli wewnątrz infoboksu umieścisz funkcję {{#ifexpr: {{{Wiek}}} >= 18 | Ta postać jest pełnoletnia. | Ta postać nie jest pełnoletnia. }}, kod powinien zwrócić wartość Ta postać jest pełnoletnia. jeśli wartość podana w parametrze Wiek jest równa bądź większa od 18, lub Ta postać nie jest pełnoletnia. jeśli podana wartość jest mniejsza niż 18.
Funkcje parsera wbudowane w MediaWiki[]
Oprogramowanie MediaWiki zawiera wiele różnych funkcji parsera, których pełna lista znajduje się na MediaWiki.org, tutaj jednak omówimy te najbardziej przydatne i najczęściej używane.
{{fullurl:}}
- Zwraca pełen adres URL podanej strony.
{{fullurl:Pomoc:Zawartość}}
→ https://spolecznosc.fandom.com/wiki/Pomoc:Zawarto%C5%9B%C4%87
{{#language:}}
- Konwertuje skrócony kod języka do jego pełnej nazwy (w tym języku).
{{#language:ja}}
→ 日本語
{{lc:}}
- Zmienia wszystkie znaki w ciagu na małe (w przeciwieństwie do
{{uc:}}
). {{lc:LITERY}}
→ litery
{{ns:}}
- Pobiera numer przestrzeni nazw i zwraca nazwę tej przestrzeni.
{{ns:4}}
→ Centrum Społeczności
{{plural:}}
- Jeśli podane wyrażenie jest równe jeden, zwraca liczbę pojedynczą, jeśli jest równa 2 i więcej, zwraca liczbę mnogą.
{{plural:1|jest|są}}
→ jest{{plural:2|jest|są}}
→ są
Rozszerzenie ParserFunctions[]
ParserPunctions jest popularnym rozszerzeniem do oprogramowania MediaWiki, które uzupełnia powyższą listę o wiele innych przydatnych funkcji. Jest ono domyślnie włączone na każdej wiki w obrębie Fandomu. Prócz tego zawiera w sobie większość funkcji znajdujących się w przestarzałym rozszerzeniu StringFunctions, w szczególności {{#explode}}.
ParserFunctions obsługuje matematyczne wyrażenia, operatory if/else oraz opcje związane z czasem. Aby wyświetlić pełną listę tych funkcji i przydatną dokumentację na ich temat, odwiedź oficjalną stronę pomocy rozszerzenia.
Inne rozszerzenia[]
Istnieje kilka innych popularnych rozszerzeń dodających swoje funkcje parsera. Oto kilka z nich:
- Arrays – dodaje {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}.
- Variables – dodaje {{#var}}, {{#vardefine}}, {{#vardefineecho}}.
- Loops – dodaje {{#while}}, {{#dowhile}}, {{#loop}}.
- Simple Calendar – dodaje {{#calendar}}.
Więc jeśli znajdziesz interesujące cię rozszerzenie zawierające funkcje analizatora składni, sprawdź dedykowaną mu stronę pomocy na MediaWiki.org.