stylusСобирает исходные файлы блоков со стилями, написанными в синтаксисе Stylus (файлы с расширением .styl), или на чистом CSS (файлы с расширением .css).
Использует CSS-препроцессор Stylus для компиляции Stylus-файлов в CSS-код.
Результатом сборки является CSS-файл. Для обработки итогового CSS используется CSS-построцессор postcss.
Тип: String. По умолчанию: ?.css.
Имя файла, куда будет записан результат сборки необходимых .styl- и .css-файлов проекта.
Тип: String. По умолчанию: ?.files.
Имя таргета, откуда будет доступен список исходных файлов для сборки. Список файлов предоставляет технология files пакета enb-bem-techs.
Тип: String | String[]. По умолчанию: ['styl', 'css'].
Суффиксы, по которым отбираются файлы с стилей для дальнейшей сборки.
Тип: String. По умолчанию: rebase.
Oбработка url() внутри файлов .styl и .css.
Допустимые значения:
inline: содержимое файла будет закодировано в base64.
Важно:
14kb..svg-файлов с хешем. Например: url(image.svg#hash). Такие url() не будут обработаны.rebase: изменение пути к содержимому относительно таргета.
Пример:
blocks/
└── block/
├── block.styl
└── block.png
bundle/
└── bundle.css # таргет
Исходный файл block.styl:
.block
background-image: url(block.png)
Файл для подключения на страницу bundle.css:
.block
{
background-image: url(../../blocks/block/block.png);
}
Тип: String. По умолчанию: include.
Раскрытие CSS @import-ов.
Допустимые значения:
@import будет удален, вместо него в собираемый файл будет добавлено его содержимое.Тип: String | Boolean. По умолчанию: false.
Построение карт кода (sourcemap) с информацией об исходных файлах.
Допустимые значения:
.map. base64. Тип: Object | Boolean. По умолчанию: false.
Добавление вендорных префиксов с помощью autoprefixer.
Допустимые значения:
autoprefixer.options: задание конфигурации в случае, если требуется передать точный список поддерживаемых браузеров.
Пример
{
autoprefixer: { browsers: ['Explorer 10', 'Opera 12'] }
}
Подробнее в документации autoprefixer.
Тип: String. По умолчанию: ''.
Добавление префикса для CSS-классов.
Важно! Опция работает только для файлов с расширением .styl.
Тип: Boolean. По умолчанию: false.
Минификация CSS-кода. Поддерживает карты кода (sourcemap).
Тип: Boolean. По умолчанию: true.
Обрамление комментариями CSS-кода в собранном файле. Комментарии cодержат относительный путь до исходного файла. Может быть использовано при разработке проекта.
Пример
/* ../../blocks/block/block.styl:begin */
.block
{
background-image: url(../../blocks/block/block.png);
}
/* ../../blocks/block/block.styl:end */
Тип: String | String[]. По умолчанию: [].
Подключает .styl-файлы с глобальными переменными, методами или миксинами в начало.
Тип: String | String[]. По умолчанию: [].
Задает пути, которые будут использованы при обработке @import и url().
Может быть использовано при подключении сторонних библиотек, например, nib.
Важно! Опция работает только для файлов с расширением .styl.
Тип: Function | Function[]. По умолчанию: [].
Подключение плагинов или одного плагина для Stylus через use()
Важно! Опция работает только для файлов с расширением .styl.
Тип: Boolean. По умолчанию: false.
Подключение библиотеки CSS3-миксинов для Stylus – nib.
Важно! Опция работает только для файлов с расширением .styl.
Тип: String[]. По умолчанию: [].
Подключение .styl файлов или директорий c index.styl через import()
Важно! Опция работает только для файлов с расширением .styl.
var stylusTech = require('enb-stylus/techs/stylus'),
FileProvideTech = require('enb/techs/file-provider'),
nib = require('nib'),
rupture = require('rupture'),
bemTechs = require('enb-bem-techs');
module.exports = function(config) {
config.node('bundle', function(node) {
// Получаем имена файлов (FileList)
node.addTechs([
[FileProvideTech, { target: '?.bemdecl.js' }],
[bemTechs.levels, { levels: ['blocks'] }],
bemTechs.deps,
bemTechs.files
]);
// Создаем CSS-файлы
node.addTech([stylusTech, {
use: [nib(), rupture()],
importPaths: [nib.path + '/nib']
}]);
node.addTarget('?.css');
});
};
© 2014 YANDEX LLC. Код лицензирован Mozilla Public License 2.0.