Pomoc:Podstrony, aspekty techniczne

Używania podston na Wikiźródłach

edytuj

Zasady

edytuj

Używanie podstron na wiki zależy od ustawień i jest włączane na poziomie przestrzeni nazw (patrz: poradnik Przestrzeń nazw). Na polskich Wikiźródłach używane są:

  • w przestrzeni głównej do tworzenia hierarchii dla niesamodzielnych części utworu
    • w przestrzeni głównej tradycyjnie tworzymy również wariant prezentacji utworu jako podstronę /całość (patrz: poradnik Strony całości)
  • w innych przestrzeniach do tworzenia opisów szablonów, modułów, do rezerwacji indeksów, do tworzenia eksperymentalnych (prywatnych) modułów i szablonów

Najważniejsza i charakterystyczna dla Wikiźródeł jest koncepcja samodzielności utworu (patrz: poradnik Samodzielność części tekstu).

Najważniejsze uwagi

edytuj

Z punktu widzenia redagowania Wikiźródeł najważniejszy jest powyższy podrozdział Zasady oraz aspekt W praktyce.

Zalety podstron

edytuj
  • Główną zaletą tworzenia podstron w przestrzeni głównej jest utrzymywanie jasnej hierarchii w ramach części utworu, utrzymywanie wszystkich części razem.
  • Tworzenie automatycznych linków ułatwiających nawigację między częściami.
  • Umożliwia osobom z odpowiednimi uprawnieniami (movesubpages) – na polskich Wikiźródłach administratorzy – zmianę nazwy strony wraz z podstronami
  • Zajmuje znak ukośnika
  • Utrudnia korzystanie ze stron dyskusji

Nawigacja

edytuj

Automatyczna nawigacja

edytuj

Na górze podstrony tworzone są automatyczne linki prowadzące do (pod)strony bezpośrednio powyżej w hierarchii.

Linki przy pomocy ../

edytuj

W obrębie podwójnych nawiasów kwadratowych (a więc w normalnej składni wiki linków) można używać w celu linkowania względnego (względem strony na której się kod znajduje) następujących symboli:

  • ../ – dla poziomu powyżej
  • / foo – dla poziomu niżej o nazwie  foo

W niektórych sytuacja dodatkowy ukośnik na końcu powoduje wyświetlanie się jedynie ostatniego segmentu nazwy.


Bardziej rozbudowany przykład:

By utworzyć na stronie poniżej link do strony Daleka wyprawa/Księga II/Część pierwsza Można użyć poniższego kodu
Wyprawa [[/Księga II/Część pierwsza]]
Daleka wyprawa/Księga I [[../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza [[../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdział 1 [[../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja i [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja ii [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdział 2 [[../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja i [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja ii [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Część druga [[../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdział 1 [[../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja i [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja ii [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdział 2 [[../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja i [[../../../../Księga II/Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja ii [[../../../../Księga II/Część pierwsza]]
Daleka wyprawa/Księga II [[/Część pierwsza]]
Daleka wyprawaKsięga III/Część pierwsza
Daleka wyprawaKsięga III/Część pierwsza/Rozdział 1 [[../]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja i [[../../]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja ii [[../../]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdział 2 [[../]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja i [[../../]]
Daleka wyprawaKsięga III/Część pierwsza/Rozdał 1/Sekcja ii [[../../]]
Daleka wyprawaKsięga III/Część druga [[../Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdział 1 [[../../Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja i [[../../../Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja ii [[../../../Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdział 2 [[../../Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja i [[../../../Część pierwsza]]
Daleka wyprawaKsięga III/Częśćierwsza/Rozdał 1/Sekcja ii [[../../../Część pierwsza]]

Samodzielnie konstrukcje typu /Rozdział I czy ../Księga I nie tworzą linków, mogą być w tym celu ujęte (jak to pokazano) w nawiasy kwadratowe. Samodzielnie ../ itp. są zwykłym tekstem. Nazwy stron można uzyskać przy pomocy {{#rel2abs: ścieżka }}, gdzie  ścieżka  to konstrukcja jak wyżej. Stosuje się wtedy:

  • ./ – dla obecnego poziomu
  • ../ – dla poziomu powyżej
  • / foo – dla poziomu niżej o nazwie  foo

Należy jeszcze dodać, że ewentualne ukośniki w nazwie strony (gdy są częścią nazwy ale nie tworzą hierarchii np. System operacyjny OS/2 ) mogą zaburzyć nawigację przy pomocy skrótów typu ../.

Podanie parametru  nazwa strony : {{#rel2abs: ścieżka | nazwa strony }} umożliwia analizę innej strony niż ta, na której kod jest wywoływany.

Użycie magicznych słów

edytuj

Definicje

edytuj

Magiczne słowa {{NAMESPACE}}, {{ROOTPAGENAME}}, {{BASEPAGENAME}}, {{SUBPAGENAME}}, {{PAGENAME}}, {{FULLPAGENAME}} mają nieco inną logikę, choć w pewnych wypadkach mogą mieć podobne działanie. Nie ujęte w nawiasy kwadratowe dają po prostu tekst, w połączeniu z nawiasami mogą być częścią funkcjonującego linku.
Jak widać powyżej konstrukcje oparte na ../ pozwalają na nawigację względem danej (pod)strony w górę lub dół hierarchii o określoną liczbę stopni. Podobnie działa jedynie {{BASEPAGENAME}}. Inne zwracają część nazwy (pod)strony i tak:

Magiczne słowo Opis działania
{{NAMESPACE}} nazwę przestrzeni, w której się znajduje dana (pod)strona
{{PAGENAME}} nazwę podstrony, ale bez nazwy przestrzeni, w której się znajduje dana (pod)strona
W przypadku stron w przestrzeni głównej jest to zarazem pełna nazwa (pod)strony
{{FULLPAGENAME}} nazwę podstrony, wraz z nazwą przestrzeni, w której się znajduje dana (pod)strona
W przypadku stron w przestrzeni głównej jest to to samo co {{PAGENAME}}, zaś w przypadku ogólnym odpowiada konstrukcji: {{NAMESPACE}}:{{PAGENAME}}
{{ROOTPAGENAME}} najgłębsza część nazwy (pod)strony, ale bez nazwy przestrzeni, w której się znajduje dana (pod)strona
{{BASEPAGENAME}} nazwa (pod)strony, w hierarchii bezpośrednio „nad” daną podstroną, ale bez nazwy przestrzeni, w której się znajduje dana (pod)strona
Można (zwłaszcza w przypadku innych przestrzeni niż przestrzeń główna zastosować konstrukcję {{NAMESPACE}}:{{BASEPAGENAME}}
{{SUBPAGENAME}} nazwa ostatniego członu nazwy (pod)strony. Z reguły nie daje funkcjonalnego (a przynajmniej sensownego) linku. Może być stosowana na przykład do odróżniania stron /całość od innych.



 

W przypadkach „zdegenerowanych” (nazwa dwu‑ lub jednoczłonowa) mamy:

 


Dla stron w przestrzeni głównej {{NAMESPACE}} zwraca pusty tekst, zaś {{PAGENAME}} = {{FULLPAGENAME}}. W innych przypadkach można to prześledzić na poniższym schemacie:

 

Przykłady

edytuj
Strona {{NAMESPACE}} {{PAGENAME}} {{FULLPAGENAME}} {{ROOTPAGENAME}} {{BASEPAGENAME}} {{SUBPAGENAME}}
Daleka wyprawa Daleka wyprawa Daleka wyprawa Daleka wyprawa Daleka wyprawa Daleka wyprawa
Daleka wyprawa/Księga I Daleka wyprawa/Księga I Daleka wyprawa/Księga I Daleka wyprawa Daleka wyprawa Księga I
Daleka wyprawa/Księga I/Część pierwsza Daleka wyprawa/Księga I/Część pierwsza Daleka wyprawa/Księga I/Część pierwsza Daleka wyprawa Daleka wyprawa/Księga I Część pierwsza
Pomoc:Xxx Pomoc Xxx Pomoc:Xxx Xxx Xxx Xxx
Pomoc:Xxx/Yyy Pomoc Xxx/Yyy Pomoc:Xxx/Yyy Xxx Xxx Yyy
Pomoc:Xxx/Yyy/Vvv Pomoc Xxx/Yyy/Vvv Pomoc:Xxx/Yyy/Vvv Xxx Xxx/Yyy Vvv
Pomoc:Xxx/Yyy/Vvv/Qqq Pomoc Xxx/Yyy/Vvv/Qqq Pomoc:Xxx/Yyy/Vvv/Qqq Xxx Xxx/Yyy/Vvv Qqq

Analiza innej strony niż bieżąca

edytuj

Wstawienie w słowach magicznych po dwukropku nazwy strony powoduje efektywnie analizę nazwy np. {{BASEPAGENAME:Pomoc:Xxx/Yyy/Vvv/Qqq}}→Xxx/Yyy/Vvv.
Można to również wykorzystać, by wyodrębnić na przykład przedostatni człon nazwy strony {{SUBPAGENAME:{{BASEPAGENAME}}}}. Ten kod wywołany na stronie Daleka wyprawa/Księga I/Część pierwsza da nam Księga I.

Użycie funkcji parsera #titleparts

edytuj

Użycie funkcji parsera #titleparts umożliwia najpełniejszą kontrolę kosztem czytelności kodu.
Funkcja dzieli nazwę strony na segmenty kierując się ukośnikami zwraca fragment nazwy zgodnie ze schematem: {{#titleparts: nazwa strony | liczba segmentów | pierwszy segment }}

Jeśli  liczba segmentów  nie jest określona, to przyjmuje wartość domyślną 0, co jest interpretowane jako wszystkie wskazane. Jeśli  pierwszy segment  nie jest określony lub jest równy 0, to przyjmowana jest wartość 1.

Przykłady:

Kod Efekt
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq }} Pomoc:Xxx/Yyy/Vvv/Qqq
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | 1 }} Pomoc:Xxx
(dla przestrzeni głównej podobnie do {{ROOTPAGENAME}}
dla innych przestrzeni {{NAMESPACE}}:{{ROOTPAGENAME}}
)
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | 2 }} Pomoc:Xxx/Yyy
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | 2 | 2 }} Yyy/Vvv
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | | 2 }} Yyy/Vvv/Qqq
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | | 5 }}

Oba parametry numeryczne mogą mieć również wartość ujemną. Negatywna wartość  liczba segmentów  mówiąc obrazowo obcina segmenty końcowe. Negatywną wartość  pierwszy segment  należy interpretować jako wartość liczoną od końca  nazwa strony .

Kod Efekt
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | -1 }} Pomoc:Xxx/Yyy/Vvv(zwraca nazwę strony bezpośrednio nad daną stroną,
dla przestrzeni głównej podobnie do {{BASEPAGENAME}}
dla innych przestrzeni {{NAMESPACE}}:{{BASEPAGENAME}}
)}}
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | -4 }} obcina wszystkie cztery segmenty z wyniku.
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | -5 }} obcina wszystkie segmenty z wyniku.
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | -1 | 2 }} Yyy/Vvv(obcina jeden segment od prawej, potem zwraca od drugiego segmentu)
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | -1 | -2 }} Vvv(zaczyna od drugiego segmentu od prawej, obcina jeden segment od prawej)
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | -2 }} Pomoc:Xxx/Yyy(zaczyna od początku, obcina dwa segmenty od prawej)
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | 0 | -2 }} Vvv/Qqq(zaczyna od drugiego segmentu od prawej, zwraca wszystkie segmenty)
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | 0 | -1 }}
{{#titleparts: Pomoc:Xxx/Yyy/Vvv/Qqq | 1 | -1 }}
Qqq(zwraca ostatni segment, podobnie do {{SUBPAGENAME}})
jednak dla {{#titleparts: Pomoc:Xxx}} zwraca Pomoc:Xxx

By użyć tej konstrukcji tak, by analizowana była nazwa strony, na której funkcja #titleparts jest wywoływana należy użyć konstrukcji {{#titleparts:{{FULLPAGENAME}}...}}.

W praktyce

edytuj

Linkowanie między częściami utworu, włączanie do właściwej kategorii

edytuj

Jak wspomniano powyżej, podstrony służą do tworzenia hierarchii w ramach utworu. Nazwy utworów na Wikiźródłach zmieniają się stosunkowo często – np. dodawane jest w nawiasie nazwisko autora, rok wydania. Dla zachowania konsystencji po zmianie nazwy wskazane jest używanie względnych nazw (linków) w utworach podzielonych na podstrony:

  • w szablonie {{Dane tekstu}}/{{Dane tekstu2}} w polu |Tytuł= na przykład [[{{ROOTPAGENAME}}| Ciekawa książka ]]
  • w szablonie {{Dane tekstu}}/{{Dane tekstu2}} w polu |Poprzedni= {{ROOTPAGENAME}}/ Rozdział II  lub gdy to możliwe szablonu zawierającego podobną funkcjonalność {{PoprzedniU}}
  • w szablonie {{Dane tekstu}}/{{Dane tekstu2}} w polu |Następny= {{ROOTPAGENAME}}/ Rozdział IV  lub gdy to możliwe szablonu zawierającego podobną funkcjonalność {{NastępnyU}}
  • w szablonie {{Dane tekstu}}/{{Dane tekstu2}} w polu |inne= {{całość|{{ROOTPAGENAME}}/całość|epub=i}}
  • w spisie treści tworzonym bezpośrednio na stronie głównej
  • w kategorii np. [[Kategoria:{{ROOTPAGENAME}}|C03]] lub ewentualnie: [[Kategoria:{{ROOTPAGENAME}}|C{{BieżącyU|2}}]]

Zastosowanie w szablonie {{Dane tekstu}} w polu |Rozdział= (gdy powinno być to pole wypełnione) {{SUBPAGENAME}} może również nieco ułatwić tworzenie kolejnych podstron.
Nie należy jednak wstawiać bezrefleksyjnie takich konstrukcji gdy nazwy nie powinny być trwale powiązane (na przykład nazwa pliku lub kategorii na commons), które podlegają zasadom niezależnym od Wikiźródeł a dodatkowo utrudniają korzystanie na przykład z automatycznie tworzonych galerii.

Szablon {{Tfi}}

edytuj

Zaletą tworzenia odnośników względnych jest przede wszystkim możliwość zmiany nazwy stron wraz z podstronami.[1] W przypadku, gdy chcemy odczytać tytuł tekstu głównego, który jest tworzony na podstawie indeksu można użyć szablonu {{Tfi}}.
Gdy części tekstu są samodzielne (np. zbiory nowel) szablon ten może być użyty w szablonie {{Dane tekstu}}/{{Dane tekstu2}} w polu Pochodzenie oraz dla dołączenia do właściwej kategorii.
Innym zastosowaniem będzie tworzenie odnośników w spisie treści tworzonym w tekście (w przestrzeni Strona:).

Inne przydatne konstrukcje

edytuj

Przykłady

edytuj
  • test czy kod jest na stronie /całość {{#ifeq:{{SUBPAGENAME}}|całość| pierwsza możliwość | druga możliwość }}
  • test czy kod jest na stronie głównej czy podstronie lub głębiej na pod-pod...-stronie {{#ifeq:{{ROOTPAGENAME}}|{{PAGENAME}}| strona główna | jakaś podstrona }}
  • test czy kod jest na stronie głównej lub podstronie czy też głębiej na pod-pod...-stronie {{#ifeq:{{ROOTPAGENAME}}|{{BASEPAGENAME}}| strona główna lub podstrona | głębszy poziom }}
  • test czy kod jest na stronie głównej, na stronie całości bezpośrednio pod stroną główną, czy na jakiejś podstronie
{{#switch: {{PAGENAME}} |{{ROOTPAGENAME}}= strona główna |{{ROOTPAGENAME}}/całość= strona całości bezpośrednio pod stroną główną  | inne przypadki }}
  • test czy kod jest na stronie głównej lub na głównej stronie całości, czy na jakiejś podstronie
{{#switch: {{PAGENAME}} |{{ROOTPAGENAME}}|{{ROOTPAGENAME}}/całość= strona główna lub całości bezpośrednio pod stroną główną  | inne przypadki }}
na przykład:
| okładka = {{#switch: {{PAGENAME}} |{{ROOTPAGENAME}}|{{ROOTPAGENAME}}/całość=Wiktor Hugo - Katedra Notre-Dame w Paryżu T.II.djvu | }}
| strona z okładką = {{#switch: {{PAGENAME}} |{{ROOTPAGENAME}}|{{ROOTPAGENAME}}/całość=1 | }}
  • tworzenie stron całości dla tomów {{całość|{{PAGENAME}}/całość|epub=i|{{lcfirst:{{SUBPAGENAME}}}}|Cały}} – umieszczony na stronie  Ciekawa książka/Tom I  w szablonie {{Dane tekstu}}/{{Dane tekstu2}} w polu |inne= utworzy link do odpowiedniej strony całości z widocznym tekstem Cały tom I a ten sam kod na stronie  Ciekawa książka/Tom III  oczywiście do strony całości trzeciego tomu z tekstem Cały tom III.
    • lcfirst zamienia tu pierwszą literę na małą
    • inne przydatne funkcje z tej grupy to ucfirst (pierwsza litera na wielką), lc (wszystkie litery na małe), uc (wszystkie litery na wielkie)
  • sprawdzenie czy istnieje strona /całość {{#ifexist:{{PAGENAME}}/całość| istnieje | nie istnieje }}
  • pierwsza i druga (lub tylko pierwsza, jeśli drugiej nie ma) część nazwy:
{{#titleparts:{{PAGENAME}}|2|1}}
  • wyekstrahować pierwszą część nazwy (ROOTPAGENAME) i usunąć fragment w nawiasie (wraz z poprzedzającą spacją) {{#invoke:string|replace|{{ROOTPAGENAME}}| %b()||plain=false}} np.: Zakopane (Hoesick, 1900) → Zakopane
  • zazwyczaj synonim powyższego: {{#invoke:string|replace|{{ROOTPAGENAME}}| %(.*||plain=false}} np.: Zakopane (Hoesick, 1900) → Zakopane
  • pierwsza litera tytułu (strony głównej) {{padleft:|1|{{ROOTPAGENAME}}}}
  • pierwsza litera nazwy rozdziału (ostatniego członu nazwy) {{padleft:|1|{{SUBPAGENAME}}}}
  • część nazwy strony po ostatniej spacji {{#invoke:string|replace|{{PAGENAME}}|.* ([^ ]*)$|%1|plain=false}} np.: Zakopane (Hoesick, 1900)/Rozdział XIII → XIII
  • druga, trzecia część nazwy strony po usunięciu tekstu przed pierwszą spacją:
    • {{#invoke:string|replace|{{#titleparts:{{PAGENAME}}|1| 2 }}|[^ ]* (.*)$|%1|plain=false}} np.: Zakopane (Hoesick, 1900)/Tom IV/Rozdział dwudziesty siódmy → IV
    • {{#invoke:string|replace|{{#titleparts:{{PAGENAME}}|1| 3 }}|[^ ]* (.*)$|%1|plain=false}} np.: Zakopane (Hoesick, 1900)/Tom IV/Rozdział dwudziesty siódmy → dwudziesty siódmy

Bardziej skomplikowane przykłady

edytuj

Dla hierarchii trzyrzędowej:
Kod: {{#ifeq:{{SUBPAGENAME}}|całość||{{#invoke:string|replace|{{#titleparts:{{PAGENAME}}|1|3}}|[^ ]* (.*)$|%1|plain=false}}}}

na stronie: Zakopane (Hoesick, 1900) → ø

na stronie: Zakopane (Hoesick, 1900)/Tom IV → ø

na stronie: Zakopane (Hoesick, 1900)/Tom IV/Rozdział dwudziesty siódmy → dwudziesty siódmy

na stronie: Zakopane (Hoesick, 1900)/całość → ø

na stronie: Zakopane (Hoesick, 1900)/Tom IV/całość → ø


Kod: {{#ifeq:{{SUBPAGENAME}}|całość||{{#invoke:string|replace|{{#titleparts:{{PAGENAME}}|1|2}}|[^ ]* (.*)$|%1|plain=false}}}}

na stronie: Zakopane (Hoesick, 1900) → ø

na stronie: Zakopane (Hoesick, 1900)/Tom IV → IV

na stronie: Zakopane (Hoesick, 1900)/Tom IV/Rozdział dwudziesty siódmy → IV

na stronie: Zakopane (Hoesick, 1900)/całość → ø

na stronie: Zakopane (Hoesick, 1900)/Tom IV/całość → IV


Dla hierarchii dwurzędowej:
Kod: {{#ifeq:{{SUBPAGENAME}}|całość||{{#invoke:string|replace|{{#titleparts:{{PAGENAME}}|1|2}}|[^ ]* (.*)$|%1|plain=false}}}}

na stronie: Zakopane (Hoesick, 1900) → ø

na stronie: Zakopane (Hoesick, 1900)/Rozdział 6 → 6

na stronie: Zakopane (Hoesick, 1900)/całość → ø

Osobne strony całości dla tomów

| inne={{#switch:{{PAGENAME}}
<!--   -->|{{ROOTPAGENAME}}/całość={{epub}}
<!--   -->|{{ROOTPAGENAME}}/{{SUBPAGENAME}}={{całość|{{PAGENAME}}/całość|epub=nie|{{lcfirst:{{SUBPAGENAME}}}}|Cały}}<br>{{całość|{{ROOTPAGENAME}}/całość|epub=i}}
<!--   -->|{{BASEPAGENAME}}/całość={{epub}}<br>{{całość|{{ROOTPAGENAME}}/całość|epub=i}}
<!--   -->|{{całość|{{ROOTPAGENAME}}/całość|epub=i}} }}

Uwagi stylistyczne

edytuj

Należy unikać pisania kodu w sposób trudny do zrozumienia.
Należy preferować konstrukcje bardziej uniwersalne.





  1. Dodatkowymi, mniej istotnymi zaletami jest pewne uproszczenie kodu i większa odporność na literówki.