Молниеносная верстка с помощью Zen Coding

Alek$ сб, 20/03/2010 - 21:04

Всем нам приходится писать html-код, кому-то больше, кому-то меньше.

В частности, у меня написание шаблонов для моих движков зачастую занимает до трети времени от разработки. Главная причина тому - сравнительная многословность html, да и css. Так бы я и мучился, если бы очередной раз не наткнулся на статью по Zen Coding.

Как постичь Дзен?

Если кратко, то Zen Coding - это целое семейство плагинов к разным редакторам, позволяющее писать сокращенный код, который потом будет автоматически развернут с полную конструкцию. Вот вам сразу пример:

div#page>h3.title+ul.menu>li.item*3>a 

Будет развернут в конструкцию

<div id="page">
   <h3 class="title"></h3>
   <ul class="menu">
      <li class="item"><a href="#"></a></li>
      <li class="item"><a href="#"></a></li>
      <li class="item"><a href="#"></a></li>
   </ul>
</div>

Выигрыш в количестве набираемых символов примерно четырехкратный. Впечатляет, не так ли? Правда на первый взгляд синтаксис сокращенного варианта мутный и плохо запоминаемый, но это лишь на первый взгляд. Этот синтаксис основан на близком и родном всем нам синтаксисе css селекторов. Приведенный выше пример интерпретируется так:

  1. Внешний элемент - <div> с id "page" (помним, что когда мы в css хотим указать стиль для элемента по его id мы пишем [имя_тега-опционально]#id_элемента)
  2. Внутри <div> создаем элеменит <h3> с атрибутом "title"
  3. На том же уровне, что и <h3> (т. е. прямо внутри <div>) пишем тег <ul> с классом "menu"
  4. Внутри <ul> создаем три тега <li> с классом "item", внутри каждого из которых вложенный тег <a>

Муторным это выглядит лишь на первый взгляд. Я освоился примерно за полчаса.

Но это еще не все.

Zen Coding не чужды и такие простые радости, как просто сокращения имен тегов и css-свойств. Например, bq он автоматом разворачивает в <blockquote></blockquote> (в 12! раз меньше символов писать руками), а bcg - в background-color. Манна небесная, это очевидно.

Вам все еще не завидно?

Ну тогда посмотрите демонстрацию от мастера дзена Smile

Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.

A new way of writing HTML code using CSS-like selector syntax. Read http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/ for more info.

Окончательно заинтересовались?

Ну тогда вот вам серьезные ссылки, а не понты с финтифлюшками:

  1. Концепт Zen Coding - можно считать основным учебником, после прочтения уже можно приступать к использованию.
  2. Селекторы и псевдонимы для плагинов Zen HTML - первая часть подробной библии Дзена. Полный справочник по конструкциям вроде той, которую я привел вначале.
  3. HTML-элементы и их псевдонимы для плагинов Zen HTML - вторая часть оной библии. Длиннейшая скатерть с полезнейшими сокращениями. Тоже можно юзать в качестве справочника и запоминать по ходу использования.
  4. CSS-свойства и их псевдонимы для плагинов Zen CSS - третья часть. Использовать аналогично предыдущей.
  5. Домашняя страница Zen Coding. Самая вкусная ссылка. Там есть все вышеуказанные ссылки, а так же много других, не менее интересных, включая ссылки на добрых два десятка плагинов для разных редакторов и сред.

Кому говорить спасибо?

За такие вещи точно надо говорить спасибо, особенно учитывая то, что это чудо мысли бесплатно и опенсорсно.

Спасибо надо сказать в первую очередь Вадиму Макееву, придумавшему концепт Zen Coding в его нынешнем виде, а так же автору ранних версий, и Сергею Чикуёнку, воплотившему его в коде. Так же можно сказать спасибо автору плагина для вашего любимого редактора или же вам самим, если вы таковым пожелаете стать.

PS. Delain - April Rain



Trackback URL for this post:

http://nevkontakte.org.ru/trackback/383

Молниеносная верстка с помощью Zen Coding | Не в контакте - блог

Всем нам приходится писать html-код, кому-то больше, кому-то меньше.

В частности, у меня написание шаблонов для моих движков зачастую занимает до трети времени от разработки. Главная причина тому - сравнительная многословность html, да и c...

Просто Бомжик вс, 21/03/2010 - 09:45

Да, отлично. Пощёл качать плагины. Спасибо, что помог сэкономить кучу времени! Smile

Alek$ вс, 21/03/2010 - 19:31

На здоровье!

Kaznet пн, 22/03/2010 - 11:52

Очень интересный вариант облегчения верстки. Спасибо, будем пробывать.

ЗЫ В посте кажется Вы забыли титл menu для тега ul. По-моему должно выглядеть так: div#page>h3.title>ul.menu>li.item*3>a

Alek$ пн, 22/03/2010 - 17:09

Да, точно Smile Поправил.

getalifejerk чт, 25/03/2010 - 15:41

Для дримвивера есть полная поддержка?

Alek$ чт, 25/03/2010 - 22:34

Нет, насколько мне известно.

SeVlad сб, 22/05/2010 - 00:41

На странице закачки есть такой файлик: Zen Coding for Dreamweaver v0.6

дайте две чт, 08/04/2010 - 10:40

ачуметь ... давно надо было что-то такое ... а то столько лишнего пишешь ...

Гость сб, 05/06/2010 - 16:18

то что надо Smile Именно это я искал. Люблю использовать клавиатуру по максимуму и как можно меньше пользоваться мышкой. Скорость важна т.к. время это деньги.

igrif чт, 10/06/2010 - 15:05

А для Coda такой плагин есть? Кто-нибудь знает может быть Smile

Alek$ пт, 11/06/2010 - 14:53

гугль молниеносно подсказал: http://github.com/sergeche/tea-for-coda/downloads

Тормоз ср, 30/06/2010 - 00:34

Не вижу особых преимуществ.
Автодоплнение в Vim по-моему, не больше времени займёт.
Или ошибаюсь?

Alek$ ср, 30/06/2010 - 09:07

В виме автодополнение мало чем отличается от других сред. Сила вима проявляется больше в процессе редактирования текста, а не набора. Zen Coding ускоряет именно процесс набора.
Вообще, было бы очень здорово скрестить vim и zen coding.

андрей ср, 01/09/2010 - 01:05

у меня почему то не работает ctrl + E приходится постояно нажимать на пункт Zen coding и выбирать expand abbrev.
При нажатии ctrl + E выскакивает ENQ

Alek$ ср, 01/09/2010 - 18:36

Может у вас это сочетание уже подо что-то другое занято?
Какой редактор используете?

андрей чт, 02/09/2010 - 01:31

notepad++

Alek$ чт, 02/09/2010 - 20:10

Ну тогда точно надо смотреть в сторону сторонних, простите за тавтологию, плагинов. Я в нем работал весь июль и никаких проблемы не возникало.



Отправить комментарий

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <b> <s> <u> <p> <h3> <br> <strike> <sup> <pre> <h4> <hr>
  • Строки и параграфы переносятся автоматически.
  • You may use [inline:xx] tags to display uploaded files or images inline.
  • Текстовые смайлы будут заменены на графические.
CAPTCHA
Вы точно не бот?
11 + 3 =
Without JavaScript you won't pass captcha test, sorry. Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.