Přejít k navigační liště

Zdroják » Webdesign » Šablonovací systém Jade

Šablonovací systém Jade

Články ‐ ‐ Webdesign ‐

Dnes vám předvedeme základy šablonovacího systému Jade.

Nálepky:

Článek původně vyšel na autorově webu Je čas.

Jade je šablonovací systém převáděný do HTML. U komplikovanějších (ale i jednoduchých) webů a aplikací si jde usnadnit práci používáním šablonovacího systému. Šablony Jade kromě základních věcí, jako jsou proměnné, podmínky nebo cykly, nabízí i alternativní zápis HTML.

Jade vznikl původně pro Node.js, ale existují i implementace v PHP.

Zápis

Asi nejzajímavější je alternativní psaní HTML elementů a atributů:

div.clanek
  p Text v odstavci a 
    a(href="/clanek") odkaz
    |  na článek.

Tento kód vytvoří následující HTML:

<div class="clanek">
  <p>Text v odstavci a <a href="/clanek">odkaz</a> na článek.</p>
</div>

Základní pravidla

  1. Nepoužívají se ostré závorky běžné v <HTML>, ale samotné názvy značek.
  2. Koncové značky se vynechávají všude – zanoření se vytváří odsazením.
  3. Třídy a identifikátory jdou zapsat rovnou k elementu div.trida, span#idecko.
  4. Ostatní atributy se zapisují do závorek:
    element(atribut="hodnota")

    Více atributů se odděluje čárkou:

    element(atribut="hodnota", druhyAtribut="hodnota")
  5. Každý text na začátku řádku se chápe jako název elementu. Toto chování je někdy nežádoucí. Připojit text přímo do elementu jde pomocí roury |. Pokud element obsahuje pouze text, jde použít tečka:
    p.
      Odstavec zapsaný v kódu
      na
      více řádků

    Výsledek bude:

    <p>
      Odstavec zapsaný v kódu
      na
      více řádků
    </p>

Na první pohled tedy Jade nabízí úspornější psaní HTML. Je otázka, jestli je to taková výhoda. Při používání Emmetu jde totéž jako v Jade napsat následovně:

.clanek>p({Text v odstavci a }+a[href="/clanek"]{odkaz}+{ na článek.})

A rozbalit klávesou Tab.

Výhodný ale může být oproti HTML úspornější obsah ve zdrojovém souboru.

Programování

Šikovná vlastnost Jade je možnost generovat HTML kód na základě skriptu. V HTML šablonách se čas od času některé části opakují a Jade umožňuje dodržet zásadu DRY (Don’t repeat yourself) takřka 100%.

Proměnné

Pro opakující se texty jde použít proměnné.

- var promenna = "Fytopuf";
div
  p Obsah proměnné se vypíše přes #{promenna}.

Cykly

Data je možné vypisovat cyklem. Používá se k tom konstrukce for. Obsah v cyklu se vypíše pomocí =.

- var jmena = ["Franta", "Pepa", "Jednička"];
for jmeno in jmena
    div= jmeno

Mixiny

Jde vytvářet i mixiny. Třeba pro univerzální vkládání obrázků můžete vytvořit:

mixin obrazek(url, popis)
  img(src="#{url}" alt="#{popis}")

Použití by bylo následovné:

+obrazek("obrazek.png", "Popisek obrázku")

Odkazy

Komentáře

Odebírat
Upozornit na
guest
5 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů
Jakub

Jade uz neni aktualizovany a nove verze vychazi pouze pod jmenem Pug (ktery ma i novy, oddeleny repozitar a npm module) – Meli nejake problemy s brandigem.

Jarda

Jade uz neexistuje. Udelali z nej pug:

https://www.npmjs.com/package/pug#rename-from-jade

Martin Hassman

Díky za informaci. Zajímavé je, že na http://jade-lang.com/ to nezmiňují.

Milian

Chybí zmínka o includech a extendech, takže se šablona dá kodovat tak, že se rozbije na komponenty a partialy. A není k tomu potřeba například PHP.

xxar3s

Vercel zrychlil směrování v CDN. Překvapivě pomohly menší bloky

Vercel zrychlil směrování v CDN tím, že začal načítat víc dat najednou. U velkých webů mu po každém nasazení scházely v cache údaje o mnoha jednotlivých cestách, takže je musel opakovaně dohledávat. U nových bloků metadat Vercel naměřil o 91 % kratší dobu tohoto hledání v 99. percentilu. Cesta k výsledku ale vedla přes nečekané zjištění: příliš velký blok se při vyřizování požadavků nevyplatil.

GraphQL: Alternativa k REST API zblízka

Když se dnes navrhuje nové API, většina vývojářů automaticky sáhne po RESTu. Je to pochopitelné: REST je jednoduchý, dobře zdokumentovaný, podporují ho všechny jazyky a frameworky a většina z nás s ním pracuje léta. Přesto se v posledních letech stále častěji objevuje otázka, zda je REST vždy tou nejlepší volbou. Nejčastěji zmiňovanou alternativou je GraphQL, dotazovací jazyk pro API, který vznikl ve Facebooku a který dnes používají firmy jako GitHub, Shopify nebo Netflix.

Technologická úzkost drtí české firmy. Data ukazují chaos v digitalizaci, festival Digifest s prestižními záštitami nabízí cestu ven

Přesycenost trhu softwarem, desítky vyzkoušených a opuštěných nástrojů, hodiny ztracené v formulářích a neustálý strach z toho, že firmě ujede vlak. Český byznys prochází obdobím technologické úzkosti. Přestože podle aktuálních dat vyčleňuje AI rozpočet naprostá většina společností, realita v českých kancelářích má k opravdové transformaci daleko. Odpověď na to, jak proměnit technologie v reálný zisk a udržet krok s konkurencí, přináší 5. ročník festivalu a konference Digifest, který se koná 14.října v pražském Cubexu.