Статьи

Совет: еще более быстрая разметка с помощью Sparkup

Большинство из нас уже знакомы с популярной утилитой Zen Coding . Для тех, кто не, это превращает процесс создания сложной разметки в CSS-подобный селектор. Это может сэкономить вам невероятное количество времени; однако, у него есть несколько недостатков. К счастью, еще один инструмент, Sparkup , вдохновленный Zen Coding , устраняет эти проблемы и повышает вашу производительность еще выше!



Рассмотрим следующую разметку:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
<div id=»container»>
   <nav>
      <ul>
         <li>
            <a href=»»></a>
         </li>
         <li>
            <a href=»»></a>
         </li>
         <li>
            <a href=»»></a>
         </li>
         <li>
            <a href=»»></a>
         </li>
      </ul>
   </nav>
</div>

Это довольно распространенная разметка, которую вы будете создавать для каждого нового сайта. Предполагая, что вы еще не сохранили это как фрагмент, его можно легко восстановить за считанные секунды с помощью Zen Coding .

1
#container > nav > ul > li*4
  • Целевые ids и classes с # и . селекторы.
  • Используйте > чтобы отфильтровать дерево и создать дочерние элементы.
  • Запросите несколько элементов, используя символ * .
  • Используйте символ + для создания братьев и сестер.

К сожалению, у меня есть несколько проблем с Zen Coding.

  • Насколько я знаю, нет простого способа вернуться обратно на дерево. Например, если я создаю селектор ul > li*4 , я не знаю, как отфильтровать обратно до ul , а затем создать родственный элемент.
  • Нет способа присвоить innerHTML элементу. Не было бы замечательно, если бы я мог печатать, ul>li {Some Text Here} ?
  • Я не верю, что есть способ tab между остановками после расширения.

К счастью, утилита, вдохновленная Zen Coding, устраняет все перечисленные выше проблемы. Он совместим с прямым интерфейсом, т. Е. Все ваши знания в области Zen-кодирования будут легко передаваться.


На момент написания этой статьи Sparkup был доступен для TextMate, Vim и для общего использования через командную строку. Это довольно тривиально для установки. Для получения дополнительной информации, смотрите скринкаст выше.


С Sparkup мы можем путешествовать обратно вверх по дереву.

1
ul > li*3 > a < < + #contents

Обратите внимание, как мы используем < для перемещения вверх по дереву. Из тега привязки один < перенесет нас к элементу списка, а другой вернет нас к неупорядоченному списку, после чего мы можем создать брата с символом + . Очень полезно!

01
02
03
04
05
06
07
08
09
10
11
12
<ul>
   <li>
      <a href=»»></a>
   </li>
   <li>
      <a href=»»></a>
   </li>
   <li>
      <a href=»»></a>
   </li>
</ul>
<div id=»contents»></div>

Используя фигурные скобки, мы можем присвоить значения или innerHTML элементам, которые мы создаем. Эта функция была крайне необходима.

1
ul > li > p { My Text Here }
1
2
3
4
5
<ul>
   <li>
      <p> My Text Here </p>
   </li>
</ul>

С помощью Sparkup мы можем переключаться между необходимыми остановками, чтобы мы могли как можно быстрее вручную вставить наши атрибуты / значения. В MacVim, как показано на скриншоте, вы можете использовать Control + N и Control + P для переключения между остановками.

Таким образом, вместо того, чтобы прибегать к многочисленным нажатию клавиш, одна команда приведет вас туда, где вам нужно. Обратитесь к скринкасту для примера.


Так что ты думаешь? Будете ли вы делать переключение?