Легкое знакомство с библиотекой Nib под препроцессор Stylus. Эта библиотека является тем же самым, что Compass или Bourbon под препроцессор Sass.
Библиотека миксинов Nib написана под препроцессор Stylus и является аналогом более известных библиотек Compass или Bourbon под препроцессор Sass. С самим препроцессором Stylus я с вами познакомился немного раньше - скажем так, это было краткое и легкое знакомство.
Библиотека Nib проживает по адресу - Nib GitHub. Она маленькая и легкая, но должна быть полезной. Поэтому мне необходимо с ней познакомиться поближе.
Установка библиотеки Nib
В Сети мною было найдено два способа установки данной библиотеки:
- с использованием GitHub
- с использованием менеджера пакетов npm
Второй способ мне кажется более удобным, так как в этом случае библиотека устанавливается глобально и доступна для любого проекта из любого места файловой системы. В первом же случае придется устанавливать библиотеку каждый раз - локально в каждый отдельный проект.
Если вдруг в системе еще не установлен препроцессор Stylus, то первоначально необходимо установить его командой:
Не забудьте добавить ключ
, чтобы препроцессор установился глобально в системе.1
--global
Установка библиотеки Nib почти ничем не отличается от установки препроцессора и выполняется командой:
Отлично! Все, что теперь осталось сделать - это подключить библиотеку в текущий проект (текущий рабочий Stylus-файл).
Это выполняется директивой
:1
@import
Проверим, что библиотека подключена без ошибок и отрабатывает в проекте\файле. Для этого запишем в файле
несколько миксинов этой библиотеки и “натравим” на файл 1
style.styl
утилиту 1
style.styl
с несколькими ключами:1
stylus
здесь:
- говорит о том, что при компиляции в CSS должно учитываться наличие библиотеки Nib1
-u nib
- мониторить изменения в файле1
-w style.styl
и своевременно выполнять его компиляцию в CSS1
style.styl
Посмотрим на результат компиляции Stylus в CSS - очень уж любопытно, получилось ли?
Отлично! Все работает четко - миксины преобразуются в готовый CSS-код. Правда, выглядит он немного неприглядно - не причесанный и не почищенный.
Ну это решается просто - достаточно на этот CSS-файл натравить Gulp-плагины gulp-csscomb и gulp-autoprefixer.
Главное - библиотека подключена и работает!
Nib - как подружить с Gulp
До этого момента мною использовалась нативная утилита
для компиляции из формата Stylus в формат CSS. И в том числе - с поддержкой библиотеки Nib.1
stylus
Однако, на практике такой способ вряд-ли будет использоваться. Я имею ввиду, что использование лишь одной утилиты
- я сомневаюсь, что кому-либо пригодиться.1
stylus
Гораздо практичнее использование Gulp, у которого есть соответствующий плагин gulp-stylus для компиляции из формата Stylus в CSS.
Этот плагин имеет поддержку библиотеки Nib, достаточно только настроить таковую в своем проекте.
Ниже я рассмотрю процесс подключения и настройки Nib (а заодно - и Stylus) в моем любимом Gulp.
Установка плагинов gulp-stylus и nib
В своем рабочем проекте необходимо установить два плагина (с помощью консоли):
В результате оба пакета установятся в проект и добавятся в файл package.json в качестве зависимостей:
Настройка файла gulpfile.js
В файле
необходимо внести несколько правок. Первым делом - добавляем в начало файла две с строки:1
gulpfile.js
Затем создаем задачу task для компиляции из Stylus в CSS. В качестве параметра у метода
будет дополнительная строка 1
stylus
, говорящая о том, что необходимо использовать библиотеку Nib:1
use:[nib()]
Вот это и все (необходимый минимум), чтобы подружить библиотеку Nib c Gulp.
Не забываем подключить в stylus-файл проекта библиотеку:
Миксины библиотеки Nib
С подключением библиотеки Nib разобрались. Остался вопрос - а что там внутри, под капотом у Nib?
С малой толикой миксинов я уже познакомился, когда создавал тестовую страничку подключения и компиляции (см. изображение выше).
На официальной странице Nib есть ссылка на документацию по миксинам - Документация миксинов Nib.
Там все описано просто и понято, с подробными примерами. Осталось только читать и пользоваться.
В принципе, больше и сказать мне нечего (по крайней мере - мне) по поводу миксинов в Nib. Дальше только - брать их и использовать на практике.
На этом все.