• Welcome to Forum graficzne Burning-Brushes.pl. Please log in or sign up.
 

Zen-coding - wprowadzenie do szybkiego kodowania w HTML

Zaczęty przez Lysander, Luty 16, 2011, 20:48:43

Poprzedni wątek - Następny wątek
[url=http://code.google.com/p/zen-coding/]Zen-coding[/url] jest wtyczką pozwalającą na "rozszerzanie" skrótowych wyrażeń podobnych do CSS-a do prawidłowego kodu HTML z kilkoma wspomagaczami.

Najprostszy przykład (pokazujący duże podobieństwo do css):
[code]div#wrapper>p.asd[/code]
po wciśnięciu skrótu klawiszowego do rozszerzania wprowadzonego kodu da nam:
[code]<div id="wrapper">
<p class="asd"></p>
</div>[/code]

Natomiast poniższa linijka kodu, którą omówię dokładnie później
[code]html:xt>div#wrapper>(div#header>(div#logo+div#menu>ul>li*5>a))+(div#content>p.article-$*3)+div#sidebar+div#footer[/code]
da nam ładnie sformatowany podstawowy zarys całej strony.


Wtyczka ta pasuje do wielu edytorów, w tutorialu opiszę jedynie prosty proces instalacji dla [url=http://notepad-plus-plus.org/]Notepad++[/url].

Instalacja dla Notatnika++

1. W menu wyszukujemy pozycję "Pluginy" w niej "Plugin Manager" i "Show Plugin Manager"
[img]http://img.burning-brushes.pl/images/1jxj.jpg[/img]

2. W oknie menedżera pluginów w zakładce "Available" na samym dole listy wyszukujemy "Zen Coding - Python". Zaznaczamy przy nim ptaszka i naciskamy "Install".
[img]http://img.burning-brushes.pl/images/2ava.jpg[/img]
Program zapyta nas o zgodę na ponowne uruchomienie Notepada na co oczywiście się zgadzamy.

3. Kluczowym i ostatnim krokiem przed rozpoczęciem pracy z zen-codingiem jest ustawienie języka kodowania, którym będziemy się posługiwać.
[img]http://img.burning-brushes.pl/images/3pjp.jpg[/img]

I to wszystko - Notepad++ jest gotowy do odbioru i rozszerzania kodu zen : P


Wróćmy do przykładu z początku tutoriala, który po wprowadzeniu do Notepada i naciśnięciu kombinacji [b]Ctrl+Alt+Enter[/b] da nam
[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="logo"></div>
<div id="menu">
<ul>
<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>
</div>
<div id="content">
<p class="article-1"></p>
<p class="article-2"></p>
<p class="article-3"></p>
</div>
<div id="sidebar"></div>
<div id="footer"></div>
</div>
</body>
</html>[/code]
lub bardziej przejrzyście tu: [url=http://img.burning-brushes.pl/images/4tpt.jpg]http://img.burning-brushes.pl/images/4tpt.jpg[/url]

Miałem ambicje żeby to jakoś ładnie pokolorować, który element odpowiada za co, ale wyjątkowo mi to nie wychodziło, dlatego słownie podkreślę tylko kilka elementów.

Zaczynając od poczatku:

html:xs odpowiada za cały doctype i sekcje html, head i body

Znakiem > umieszczamy w nim div o id (# z css) wrapper i podobnie postępujemy z kolejnymi elementami zawierającymi się w innych.

Następnie należy zwrócić uwagę na ważną rolę nawiasów, które chronią kolejne elementy przed "siłą" > - takim sposobem elementy:
(div#header>(div#logo+div#menu>ul>li*5>a))
(div#content>p.article-$*3)
div#sidebar
div#footer
połączone znakiem + są sobie równe/znajdują się na jednakowej "głębokości" w divie wrapper. Gdyby ominąć wszystkie nawiasy ostatni element kodu (div#footer) nie dość, że znalazłby się głęboko, zamknięty w poprzedzających go elementach to zostałby ponad to powielony pięć razy - za co natomiast odpowiadałaby część
div#menu>ul>li*5>a
w której jak widać w divie#menu umieszczamy listę z pięcioma elementami, a następnie do każdego z nich dodajemy a co daje prosty zarys nawigacji.

Ostatnim elementem, który chciałbym omówić jest znak $, obecny we fragmencie
div#content>p.article-$*3
który znaczy tyle, że w sekcji #content umieszczamy trzy paragrafy o klasach article-1, article-2, article-3, co chyba jasno obrazuje działanie $


Zen-coding oferuje podobną funkcjonalność w CSS-ie, oczywiście opiera się ona jedynie na skróconych nazwach właściwości elementów.


Wszystkie możliwe skróty są do odnalezienia w załączonym cheat sheet'cie
[right]Give sanity a longer leash  |  H+  [/right]

O Ty koksie : O
dobre, dzięki wielkie, używam notepada, ale nie zbyt wtyczek do niego, ta jest przeboska, chyba spróbuję się z tym zapoznać bliżej, na prawdę dzięki :D
[right][url=http://burning-brushes.pl/programowanie/kaligfx/]KaliGFX[/url]
Tutoriale SA: [url=http://burning-brushes.pl/tutoriale-photoshop/jak-zrobic-planete-w-photoshopie/]Planety[/url] | [url=http://burning-brushes.pl/tutoriale-photoshop/jak-zrobic-nebule/]Nebule[/url] | [url=http://burning-brushes.pl/tutoriale-photoshop/inne-elementy-space-artow/]Inne elementy[/url] | [url=http://burning-brushes.pl/tutoriale-photoshop/jak-zrobic-sa-na-przykladzie-%27the-ice-in-her-eyes%27/]Składanie całości[/url]
Tutoriale POV-Ray: [url=http://burning-brushes.pl/pozostale-tutoriale/podstawy-pov-raya/]Podstawy[/url] | [url=http://burning-brushes.pl/pozostale-tutoriale/jak-zrobic-balwanka-i-bombki-w-pov-rayu/]Bałwan i bombki[/url] | [url=http://burning-brushes.pl/pozostale-tutoriale/bardziej-zaawansowane-podstawy-pov-raya/]Podstawy część 2[/url] | [url=http://burning-brushes.pl/pozostale-tutoriale/jak-zrobic-napisy-3d-w-pov-rayu/]Napisy 3D[/url] | [url=http://burning-brushes.pl/pozostale-tutoriale/animacje-w-pov-rayu/msg114710/]Animacje[/url]
Tutoriale Apophysis: [url=http://burning-brushes.pl/pozostale-tutoriale/jak-szybko-robic-fraktale/]Fraktale[/url] | [url=http://burning-brushes.pl/pozostale-tutoriale/troche-o-pisaniu-skryptow-w-apophysis/new/#new]Skrypty[/url]
Materiały do SA: [url=http://burning-brushes.pl/stocki-201/15-zdjec-chmur/]Chmury[/url] | [url=http://burning-brushes.pl/stocki-201/40-zdjec-chmur/]Chmury 2[/url] | [url=http://burning-brushes.pl/stocki-201/asteroidy/]Asteroidy[/url]
Tekstury: [url=http://burning-brushes.pl/stocki-201/tekstury-kamieni-skal-betonu/]Kamienie[/url] | [url=http://burning-brushes.pl/stocki-201/tekstury-drzewa/]Drewno, kora[/url] | [url=http://burning-brushes.pl/stocki-201/tekstury-z-zardzewialym-metalem/]Metal, rdza[/url]
Inne materiały: [url=http://burning-brushes.pl/brushe-202/abik%27s-splatter-brushes/]Splatter brushes[/url] | [url=http://burning-brushes.pl/brushe-202/abik%27s-vector-set/]Vector brushes[/url][/right]

[quote author=Lysander link=topic=5838.msg109482#msg109482 date=1297882123]
1. W menu wyszukujemy pozycję "Pluginy" w niej "Plugin Manager" i "Show Plugin Manager"
[img]http://img.burning-brushes.pl/images/1jxj.jpg[/img]
[/quote]
lol, ok.



Chciałem poinformować, że zen-coding przekształcił się w Emmet: [url=http://docs.emmet.io/]http://docs.emmet.io/[/url], http://docs.emmet.io/cheat-sheet/
[right]Give sanity a longer leash  |  H+  [/right]