Ústava šablón
Účel dokumentu
Tento dokument definuje **záväzné pravidlá používania šablón (templates)** v knihe Mémológia v prostredí MediaWiki.
Cieľom je:
- udržať konzistenciu formy naprieč kapitolami,
- znížiť náklady na údržbu pri raste projektu,
- zabrániť „šablónovému dlhu“ (nekontrolované množstvo šablón a parametrov),
- oddeliť **formu zápisu** od **významu** (kategórie) a od **tvrdení** (prípadné sémantické vlastnosti).
Dokument je **normatívny**. V prípade sporu má prednosť pred lokálnymi úpravami jednotlivých stránok.
---
Základné vymedzenie
Čo je šablóna
Šablóna je mechanizmus na:
- opakované používanie identickej štruktúry,
- parametrizáciu opakujúcich sa blokov,
- stabilizáciu vizuálu a navigácie,
- centrálne zmeny formátovania bez zásahu do desiatok stránok.
Šablóna **nie je** náhrada kategórií ani ontológie. Je to nástroj **morfologickej disciplíny textu**.
---
Čo šablóna nie je
Šablóna **nie je**:
- klasifikácia (na to slúžia kategórie),
- teoretické tvrdenie alebo definícia,
- databáza údajov,
- spôsob, ako „za každú cenu“ zjednotiť všetko.
Ak šablóna supluje tieto roly, vzniká krehký systém, ktorý sa pri raste rozpadá.
---
Základné princípy
Minimum typov šablón, maximum stability
Preferuje sa **malý počet robustných šablón** pred veľkým počtom špecifických šablón.
Test:
- Ak sa šablóna použije na menej než približne päť stránkach, spravidla nemá existovať (zatiaľ).
---
Šablóny riešia formu, nie obsah
Šablóna môže:
- štruktúrovať argumentáciu,
- štandardizovať hlavičku alebo navigáciu,
- zvýrazniť definíciu, poznámku, varovanie alebo príklad.
Šablóna nesmie:
- rozhodovať o kategóriách stránky,
- vnucovať ontologické zaradenie,
- implicitne meniť význam textu.
---
Stabilita parametrov
Parametre šablóny predstavujú **záväzné rozhranie**.
Platí:
- názvy parametrov sú krátke, jednoznačné a bez diakritiky,
- používa sa jednotný štýl pomenovania (napr. snake_case),
- nový parameter sa zavádza iba vtedy, ak je nevyhnutný.
Zmena parametra je porovnateľná so zmenou API v softvéri.
---
Žiadna zbytočná logika
Šablóny nemajú fungovať ako malé programy.
Ak šablóna vyžaduje zložité vetvenie, ide o signál miešania rolí. Zložitejšia logika sa rieši:
- rozdelením na viac jednoduchých šablón,
- alebo modulom (Scribunto/Lua), iba ak je to nevyhnutné.
---
Kedy šablónu zaviesť
Opakovanie štruktúry
Šablóna je oprávnená, ak sa rovnaká štruktúra opakuje na viacerých stránkach.
---
Centrálne riadená zmena
Ak sa očakáva budúca zmena formátu (navigácia, hlavičky), šablóna znižuje údržbové náklady.
---
Zlepšenie čitateľnosti
Ak šablóna znižuje kognitívnu záťaž čitateľa a zvyšuje prehľadnosť textu, jej použitie je opodstatnené.
---
Kedy šablónu nezavádzať
Jednorazové použitie
Jednorazové alebo ojedinelé štruktúry sa zapisujú priamo do textu.
---
Šablóna ako náhrada disciplíny
Šablóna nesmie kompenzovať nekonzistentné písanie alebo neujasnenú štruktúru textu.
---
Nadmerné skrývanie obsahu
Ak šablóna zabalí podstatnú časť kapitoly, znižuje editovateľnosť a auditovateľnosť textu.
---
Typológia šablón
Odporúča sa udržiavať **minimálny počet tried šablón**:
- navigačné šablóny,
- obsahové bloky (definícia, poznámka, varovanie, príklad),
- metodické bloky (kritérium, test, checklist),
- infoboxy pre pojmy alebo entity (iba pri konzistentnom použití).
Najprv sa definuje typológia, až potom konkrétna implementácia.
---
Konvencie a dokumentácia
Názvy šablón
Názvy sú:
- krátke,
- stabilné,
- bez diakritiky.
---
Dokumentácia šablóny
Každá šablóna musí mať:
- opis účelu,
- zoznam parametrov,
- minimálny príklad použitia,
- poznámku o spätnej kompatibilite.
---
Spätná kompatibilita
Existujúce parametre sa nemenia potichu.
Ak je potrebná zmena:
- vytvorí sa prechodné obdobie,
- podporujú sa staré aj nové parametre,
- po migrácii sa staré parametre odstránia.
---
Záverečné ustanovenie
Ak existujúca sada šablón nepostačuje, pred zavedením novej šablóny sa preverí:
- či nejde o jednorazový prípad,
- či sa problém nedá vyriešiť jednoduchým textom,
- či sa nemiešajú role formy, významu a dát.
Rozširovanie šablónového systému je prípustné iba vtedy, ak znižuje budúce náklady a zvyšuje dlhodobú konzistenciu.