Недавно мы в команде задумались, что некоторые вещи мы делаем слишком часто и нам нужно оптимизировать эти процессы. Мы написали 2 функции, которые помогают нам верстать быстрее. Чтобы применить эти функции вам понадобится подключить jQuery(даже если вы отказались от неё, подключите временно).
Собираем классы со страницы по БЕМу в Sass
В разработке мы применяем следующий подход: у каждого элемента есть один основной класс, остальные классы являются модификаторами. Подробнее об этом можете прочитать в нашей статье КБЭМ - Контейнер, Блок, Элемент, Модификатор.
Мы используем sass в качестве препроцессора с синтаксисом scss, и для того чтобы собрать все классы со страницы и вставить их в файлы стилей нам понадобится одна функция:
В качестве первого параметра мы указываем откуда собрать классы, во втором - куда положить результат.
Напишем небольшую разметку и соберем классы:
Вызываем функцию в вашем js-файле:
Функция соберет все классы со страницы и положит их в селектор с классом ‘elements_list’.Результат:
Далее мы копируем классы в редактор в scss, и он расставляет автоформатирование(например, в PHPStorm по комбинации клавиш Ctrl + Alt + L). И в итоге получаем удобный sass файл который можно использовать:
Обратите внимание, что модификаторы автоматически подставляются после основных классов.
Создание быстрой навигации по статичной верстке
Часто мы разрабатываем сайты, в которых страниц больше чем пальцев на руках(а иногда и на ногах). Для того, чтобы прыгать по страницам нужно либо менять адрес в браузере, либо ставить ссылки в разметке(что часто неудобно, запутанно, и бесполезно, т.к. программист поменяет). И поэтому мы написали виджет для быстрой навигации по проекту, который представляет собой одну js-функцию:
В качестве аргументов передаем массив со страницами:
Расширение ‘.html’ указывать не нужно. После вызова этой функции в верхнем левом углу страницы появляется маленький квадрат, наведя на который выдвинется виджет со страницами: