Wiele społeczności korzysta z szablonów cytatów, aby wyróżnić w tekście takie spośród nich jak: słowa piosenek, fragmenty książek, wypowiedzi postaci lub fragmenty wywiadów czy wiadomości. Jednym z narzędzi ułatwiających tworzenie takich szablonów jest Structured Quotes.

Głównym założeniem Structured Quotes jest możliwość wykorzystywania tego samego cytatu w wielu artykułach bez konieczności modyfikowania go na każdym z nich.

Tworzenie szablonu

Domyślnie wykorzystywany będzie Szablon:StructuredQuote. Szablon ten jest domyślnie tworzony przez bota Fandomu i nie nadpisuje innych, istniejących szablonów. Jego nazwa może zostać zmieniona, ale zalecane jest pozostawienie przekierowania z oryginalnej nazwy. Usunięcie szablonu bez przekierowania sprawi, że przycisk odpowiedzialny za Structured Quotes w edytorze nie będzie działał poprawnie.

Szablon, jak inne, działa z użyciem wikitekstu. Najprostszy szablon z użyciem dostępnych parametrów może wyglądać następująco:

<onlyinclude>:"''{{{text}}}''"
:— <small>mówca: {{{speaker}}}
:- odbiorca: {{{receiver}}}
:- {{{attribution}}}
:- źródło: {{{source}}}</small>
</onlyinclude>

Warto zauważyć, że choć parametry używane w szablonie mogą być dowolnie nazwane i wywołane, jedynie wymienione wyżej będą zapisane w bazie danych cytatów do wykorzystania. Structured Quotes nie tworzy żadnych dodatkowych ukrytych elementów w miejscu wywołania.

Ponadto istnieje możliwość użycia parametru template, dzięki któremu można korzystać z narzędzia przy użyciu różnych szablonów cytatów, na tych samych zasadach. Wystarczy podanie samej nazwy szablonu, bez poprzedzania go przestrzenią nazw Szablon: czy umieszczaniem jako link.

Wygląd szablonów może być dostosowywany zgodnie z polityką modyfikacji Fandomu.

Wywoływanie szablonu

Szablon z narzędziem Structured Quotes wywołuje się praktycznie tak, jak każdy inny. Są jednak pewne różnice. Najważniejsza z nich to sposób wywołania - zamiast nazwy szablonu, używa się tagu {{#SQuote:. Wszystkie parametry, z wyjątkiem samej treści cytatu, muszą być wypełnione z użyciem linku wewnętrznego lub zewnętrznego. Podstawowe wywołanie szablonu jest następujące:

{{#SQuote:
  id = <identyfikator cytatu>
  |text = <treść cytatu>
  |speaker = <postać mówiąca (linki wikitekstu, wewnętrzne lub zewnętrzne)>
  |receiver = <odbiorca cytatu (linki jw.)>
  |attribution = <kontekst cytatu (linki jw.)>
  |source = <źródło cytatu (linki jw.)>
  |template = <[opcjonalne] nazwa szablonu (zwykły tekst)>
}}

Narzędzie nie zadziała przy próbie wywołania szablonu w zwykły sposób np. {{StructuredQuote|id=cytat1}}. Istotne jest zatem, aby zmienić składnię wywołania szablonu w przypadku chęci wykorzystania Structured Quotes dla już istniejących cytatów i nadanie im unikatowych identyfikatorów. Identyfikatorem cytatu może być dowolny ciąg liter i cyfr nierozdzielonych spacją; stosować można dywizy (-) i podkreślenia (_). Identyfikatory rozróżniają wielkość liter. W przypadku próby użycia już wykorzystanego identyfikatora, pokaże się komunikat o tym informujący.

Wykorzystanie wcześniejszego cytatu

Główną cechą Structured Quotes jest możliwość ponownego wykorzystania cytatów pomiędzy artykułami. Po to właśnie potrzebne są wspomniane identyfikatory. Dzięki temu, zmiana w cytacie w jednym artykule będzie dostępna we wszystkich pozostałych. Aby wywołać już istniejący cytat, należy użyć tagu {{#SQuoteGet:, a po nim identyfikator w parametrze id jak w zwykłym szablonie. Ponadto można przy pomocy parametru template wyświetlić cytat przy użyciu innego szablonu niż pierwotnie. Przykładowo:

{{#SQuoteGet:
  id = cytat1
  |template = Cytat
  }}

Przywoła cytat o identyfikatorze cytat1 używając składni szablonu o nazwie Cytat.

Wykorzystanie wielu cytatów

Narzędzie Structured Quotes umożliwia również tworzenie list cytatów, choć z pewnymi ograniczeniami. Można to zrobić używając tagu {{#SQuoteQuery:. Należy podać limit przywołanych cytatów, a także w odpowiednich parametrach szukane wartości. Tak jak w przypadku zwykłego wywołania, muszą być to linki wewnętrzne lub zewnętrzne. Przykładowa składnia:

{{#SQuoteQuery:
  limit = <liczba cytatów do wyświetlenia>
  |speaker = <postać/postaci wypowiadające cytaty (linki, dla więcej niż jednej oddzielone przecinkami)>
  |receiver = <adresat/adresaci cytatów (linki jw.)>
  |attribution = <konteksty cytatów (linki jw.)>
  |source = <źródło/a cytatów (linki jw.)>
  |template = <[opcjonalnie] nazwa szablonu (bez Szablon: ani linku)>
}}

Nie ma możliwości filtrowania wywołanych cytatów przy użyciu identyfikatorów lub bardziej szczegółowych danych (np. wykluczenia cytatów do określonego adresata).

Jak w innych wywołaniach, parametr template pozwala na wskazanie używanego szablonu (domyślny to Szablon:StructuredQuote

Ograniczenia i uwagi

Narzędzie StructuredQuotes ma różne ograniczenia związane z jego działaniem. Część wymieniono wyżej przy opisywaniu działania.

  1. Domyślnym szablonem narzędzia jest Szablon:StructuredQuote, które może zostać przeniesione pod inną nazwę z zachowaniem przekierowania.
  2. Wywołanie szablonu w sposób zwykły ({{StructuredQuote}}) nie spowoduje powiązania go z narzędziem i pozbawi głównego celu, jakim jest zapisywanie cytatów w bazie.
  3. Każdy cytat musi mieć swój identyfikator. W przypadku wielu szablonów z tym samym identyfikatorem decyduje kolejność utworzenia. Przed użyciem wykorzystanego identyfikatora pokaże się komunikat. Zmiana identyfikatora w miejscu utworzenia cytatu spowoduje, że wywołania cytatu w innych artykułach nie będą działać.
  4. Narzędzie stworzone jest z myślą o pojedynczych cytatach i może być problematyczne w przypadku dialogów. Można jednak w parametrach podawać wiele postaci, miejsc itd.
  5. W bazie cytatów zapisane zostaną jedynie parametry o nazwach id, text, speaker, receiver, attribution oraz source. Można używać innych, jednak nie będą one uwzględniane przy wywołaniach cytatu w innych miejscach. Oznacza to, że spolszczone nazwy parametrów nie będą działały jak należy.
  6. W parametrach speaker, receiver, attribution i source można umieścić jedynie linki wewnętrzne lub zewnętrzne, zgodnie z normami wikitekstu.