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

Proč vám model napíše Python, i když jste si řekli o Rust

AI
Komentáře: 0
Výkonnostní propast mezi Pythonem a ostatními jazyky se za poslední rok a půl skoro zavřela. Dnešní modely zvládají Rust i Go srovnatelně dobře. Když jim ale volbu necháte, sáhnou stejně po Pythonu. A u knihoven je to ještě výraznější: mezi funkčně srovnatelnými balíčky je až 84procentní rozdíl v kvalitě generovaného kódu. Proč to tak je a co s tím.

WP2Shell: Kritická hrozba pro samotné jádro WordPressu. Útočníci mohou získat kontrolu nad webem

Zranitelnost ve WordPressu není žádná novinka. Kdo provozuje weby postavené na této platformě, ví, že bezpečnostní záplaty chodí prakticky pořád. O to větší pozornost by měla vzbudit chyba, u které nic z toho neplatí. A přesně takový je případ zranitelnosti, která dostala přezdívku wp2shell. potřeb. Zranitelný kontaktní formulář, děravý e-shopový plugin, opomenutá kontrola oprávnění v nějaké obskurní rozšiřující knihovně – to je denní chleba každého, kdo sleduje bezpečnostní feedy. Zpráva „nová chyba ve WordPress pluginu“ má tak nízkou informační hodnotu, že ji většina lidí přejde bez mrknutí oka.

Mýtus jedné aplikace: proč PWA nenahradí vývoj pro každou platformu

PWA mohou webu přidat ikonu na ploše, fungování bez připojení, notifikace a některé systémové funkce. Nejsou ale cestou k jednomu klientu pro všechny platformy. Vyplatí se tam, kde se lidé k webu vracejí a ocení okamžitý vstup z odkazu. Jakmile aplikace musí spolehlivě běžet na pozadí nebo fungovat stejně na každém zařízení, bývá vhodnější nativní řešení.