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

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

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

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

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

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

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

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

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

    1. Внешний элемент -
      с id "page" (помним, что когда мы в css хотим указать стиль для элемента по его id мы пишем [имя_тега-опционально]#id_элемента)
    2. Внутри
      создаем элеменит

      с атрибутом "title"

    3. На том же уровне, что и

      (т. е. прямо внутри
      ) пишем тег
        с классом "menu"
      • Внутри
          создаем три тега
        • с классом "item", внутри каждого из которых вложенный тег
        • Муторным это выглядит лишь на первый взгляд. Я освоился примерно за полчаса.

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

          Zen Coding не чужды и такие простые радости, как просто сокращения имен тегов и css-свойств. Например, bq он автоматом разворачивает в

          12! раз меньше символов писать руками), а bcg - в background-color. Манна небесная, это очевидно.

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

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

          Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.

          A new way of writing HTML code using CSS-like selector syntax. Read http://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:

        /trackback/383

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

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

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

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

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

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

    На здоровье!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    notepad++

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

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

    Тормоз пн, 08/11/2020 - 07:35

    Попробовать что ли. Не первый раз уже натыкаюсь на хвалебные оды этому подходу. Однако всё время отталкивал синтаксис почему-то.

    Сейчас у меня почему-то Vim перестал понимать CSS-файлы, ничего не понимаю. Автодополнение работает только для уже встречающихся в файле слов, почему-то он ничего не знает про стандартные селекторы и свойства. Очень злит, когда хочешь работать, а что-нибудь вот такое мешает. Рррр.

    Тормоз пн, 08/11/2020 - 07:43

    Ага! Это, похоже, SuperTab у меня барахлит. Потому что omny completion через C-X+C-O отрабатывает как надо.

    P.S. А у тебя глюк в комментах. Если сразу после отправки комментария попробовать нажать "ответить" куда-нибудь, тогда получаешься "гостем". После перезагрузки страницы в форме снова появляется старый ник.

    Alek$ пн, 08/11/2020 - 23:56

    Уже давно хочу сделать глобальный апгрейд блогу, но пока никак руки не доходят. А список того, что мне не нравится уже перевалил за десяток пунктов.

    

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

    CAPTCHA
    Вы точно не бот?
    5 + 8 =
    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.