Zen Coding: Ako písať HTML rýchlejšie

Užitočný nástroj pre efektívnejšiu prácu s HTML alebo CSS: Zen Coding. Ocenia ho všetci web developeri denne prichádzajúci do styku s HTML/CSS. Jedná sa o plugin do editorov, ktorý zjednodušuje písanie HTML kódu používaním klávesových skratiek.

Príklad

Zen Coding má syntax podobnú CSS. Napríklad:

div#page>div.logo+ul#navigation>li*5>a

po stlačení klávesovej skratky Zen Coding-u v editore vytvorí HTML kód:

<div id="page">
        <div class="logo"></div>
        <ul id="navigation">
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
        </ul>
</div>

Výhody sú okamžite jasné:

  • rýchlejšie písanie kódu
  • 100% valídny HTML kód
  • netreba si pamätať syntax a povinné atribúty niektorých menej bežných tagov (rôzne meta, link, map tagy)

Demo

Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.

Pre ilustráciu predvediem zopár najpopulárnejších skratiek.

ID a triedy

Pre vytvorenie div elementu s požadovaným ID alebo triedou postačí v editore napísať.

div#wrapper

vytvorí

<div id="wrapper"></div>

Analogicky, h1 element s triedou “site-title” vytvoríme takto:

h1.site-title

Elementom je možné priamo zadať i obsah:

p.info{Lorem ipsum dolor sit amet}

vytvorí

<p class="info">Lorem ipsum dolor sit amet</p>

Deti, súrodenci

Hierarchiu HTML elementov vytvárame pomocou “>” a “+”:

ul>li>a

vytvorí

<ul>
  <li>
    <a href=""></a>
  </li>
</ul>

Zápisom

div>span.first+span.second+span.third

vygenerujeme kód

<div>
  <span class="first"></span>
  <span class="second"></span>
  <span class="third"></span>
</div>

Ak za operátorom “+” neuvedieme nič, vygenerovaný element bude mať automaticky nastavené bežne používané atribúty a potomkov. Napr.:

map+

nám vytvorí

<map name=""><area alt="" href="" shape="" coords="" /></map>

Opakovanie HTML elementov

Zen Coding nám umožňuje vytvárať neobmedzený počet opakujúcich sa elementov naraz jediným zápisom pomocou operátora “*” (hviezdičky):

table>tr*3>td*2

generuje

<table>
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>

Automatické číslovanie

Triedy alebo ID-čka môžu byť dynamicky číslované:

table>tr.row-$*5

vytvorí

<table>
 <tr class="row-1"></tr>
 <tr class="row-2"></tr>
 <tr class="row-3"></tr>
 <tr class="row-4"></tr>
 <tr class="row-5"></tr>
</table>

Zložitejšie elementy

Pomocou operátora “:” je možné presnejšie špecifikovať aký element si želáme vygenerovať. Príklady:

meta:utf

vygeneruje

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

Príklad:

input:checkbox

vytvorí

<input id="" name="" type="checkbox" />

HTML atribúty

Zen Coding umožňuje k elementom špecifikovať extra atribúty:

a[title rel]

vytvorí

<a rel="" href="" title=""></a>

Je možné špecifikovať i hodnotu atribútu:

img[alt="Opis obrazka"]

vytvorí

<img src="" alt="Opis obrazka" />

Filtre

Filtre slúžia na úpravu generovaného HTML kódu ešte predtým, ako sa vloží do editora. Napr.

div#global-container|c

spôsobí, že výsledný element bude ohraničený komentármi pre lepšiu orientáciu v kóde:

<!-- #global-container -->
<div id="global-container"></div>
<!-- /#global-container -->

Používatelia alternatívnej syntaxe HAML využijú filter haml:

ul#navigation>li>a|haml

vytvorí HAML kód

%ul#navigation
  %li
    %a{ :href => "" }

V dokumentácii k pluginu Zen Coding nájdete zoznam všetkých filtrov.

CSS

Zen coding uľahčuje aj prácu s CSS:

d:n

vygeneruje

display:none

Prehľad skratiek Zen Coding (ťahák)

Syntax a všetky dostupné skratky Zen coding.

Podpora v editoroch

Plugin je dostupný pre všetky populárne editory a IDE nástroje:

  • Eclipse
  • NetBeans
  • Vim
  • Dreamweaver
  • PSPad
  • Notepad++
  • Visual Studio
  • GEdit
  • Ultraedit
  • a cca. 20 ďalších
This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.
  • http://www.webhostings.in/ web hosting

    Above the demo is very helpful to me.I get it clear idea about this topic.

  • http://www.webhostings.in/ web hosting

    Above all the images are excellent creativity.Great stuff.

  • http://www.web-hosting-service.in/ web hosting services

    Thanks a lot for sharing this useful and attractive information and I will be waiting for other interesting posts from you in the nearest future.keep it up.

  • http://www.register-domainname.in/ india domain registration

    I am happy to find much useful information in the post,writing sequence is awesome, I always look for quality content, thanks for sharing.

  • http://www.web-hosting-service.in/ hosting service

    Really great post and i enjoyed reading this article. thanks for sharing.

  • http://www.webhostings.in/ web hosting in india

    Above the code is very helpful to solve my problem.Great stuff posted here.

  • http://www.web-designs-company.com/ web designing company

    Great knowledge and can have nice experience through your blogs..really appreciable and I visit often here.