# Конфигурация / ungic.config.json
В данном разделе вы можете получить информацию об ungic.config.json конфигурационном файле проекта.
Данный файл создается при инициализации или при создании нового ungic проекта.
TIP
Некоторые основные параметры данного конфиг. файла схожи с параметрами из package.json, поэтому рекомендуем устанавливать ungic после инициализации npm: npm init
ungic init
, тем самым, конфигурационный файл будет создан на основе package.json файла.
# Пример конфигурационного файла:
{
"name": "appName",
"version": "1.0.0",
"mode": "development",
"author": "unbywyd",
"server": {
"port": 2020
},
"openInBrowser": true,
"fs": {
"dirs": {
"source": "source",
"dist": "dist",
"temp": "temp"
},
"dist": {
"css": "css",
"fonts": "fonts",
"img": "img",
"js": "js"
},
"source": {
"scss": "scss",
"html": "html",
"icons": "icons",
"assets": "assets"
}
},
"plugins": {
"scss": {
"dirAttribute": "dir",
"htmlIsRootElement": true,
"cleancss": true
},
"html": {
"beautify": {},
"minifier": {},
"cheerio": {
"decodeEntities": false
},
"customTypeHandlers": {
"mustache": {
"transformer": "./mustache/transformer",
"includeHandler": "./mustache/handler",
"dev": false
}
},
"dirAttribute": "dir",
"replaceAmpToSymbol": true,
"cleancss": {},
"relativeSrc": false,
"deleteFromDist": false
},
"icons": {
"startCodepoint": 61696,
"sprites": {
"className": "sprite",
"maxWidth": 70,
"maxHeight": false
},
"svgSprite": {
"width": "2em",
"height": "2em",
"external": false,
"removeColors": true,
"className": "svg-icon"
},
"fonts": {
"name": "ungic",
"fixedWidth": false,
"fontHeight": 512,
"centerHorizontally": true,
"normalize": true,
"fontWeight": 400,
"className": "icon",
"fontSize": "2em",
"lables": true
}
}
},
"build": {
"releases": {
"default": {
"saveAllAssets": true,
"host": "",
"noConflict": true,
"urlsOptimization": true,
"scssBuildName": "default",
"htmlBuildName": "default",
"iconsBuildName": "default",
"includeOnlyUsedComponents": false,
"combineIcons": true,
"combineScssComponents": true
}
},
"plugins": {
"html": {
"dev": {
"formatting": "beautify",
"validation": false
},
"release": {
"configs": {
"default": {
"formatting": "beautify",
"validation": false,
"includeLocalStyles": false,
"mergeInternalStyles": false,
"optimizeInternalStyles": false,
"includeLocalScripts": false,
"internalScriptsToFooter": false,
"externalScriptsToFooter": false,
"mergeInternalScripts": false,
"optimizeInternalScripts": false
}
},
"build": {
"default": {
"pages": "*",
"excludePages": [],
"configId": "default"
}
}
}
},
"scss": {
"dev": {
"inverse": true,
"autoprefixer": true,
"defaultInverse": false,
"direction": "ltr",
"oppositeDirection": true,
"theme": "default"
},
"release": {
"configs": {
"default": {
"themeMode": "external",
"inverseMode": "combined",
"inverse": true,
"defaultInverse": false,
"autoprefixer": true,
"direction": "ltr",
"oppositeDirection": true,
"versionInFilename": true
}
},
"build": {
"default": {
"configId": "default",
"themes": [],
"defaultTheme": "default",
"components": "*",
"excludeComponents": []
}
}
}
},
"icons": {
"dev": {
"svgIconsMode": "fonts",
"sprites": true,
"svgIcons": true
},
"release": {
"configs": {
"default": {
"svgIconsMode": "fonts"
}
},
"build": {
"default": {
"configId": "default",
"svgIcons": true,
"sprites": "**/*.png"
}
}
}
}
}
},
"verbose": false
}
# name
Type: String
Default: значение поля "name" из package.json файла
# version
Type: String
Default: значение поля "version" из package.json файла
# mode
Type: String
Default: development | production
Usage:
Режим разработки.
Не смотря на то, что имеется данная опция, вся разработка в ungic ведется исключительно в development режиме. Переключать данный режим стоит только в том случае, если в конфигурационном файле проекта или в package.json файле имеется конфигурация для таких плагинов как:
- autoprefixer (opens new window) для настройки Browserslist (opens new window)
- clean-css (opens new window)
- html-minifier (opens new window) as htmlminifier.
- cheerio (opens new window)
- js-beautify (opens new window) as beautify
Конфигурацию указывать относительно режима:
... browserslist: { development: [ "defaults", "not IE 11", "not IE_Mob 11", "maintained node versions" ] }
# author
Type: String
Default: Значение поля author из package.json
# server
Type: Object
Keys:
- port Number Default: 2020
# openInBrowser
Type: Boolean
Default: true
Usage:
Открывать в браузере стартовую страницу после запуска ungic проекта
# fs (File system)
Type: Object
Usage:
Структура файлов ungic проекта. Значение каждого ключа является относительным путем к директориям от конфигурационного файла.
"fs": { "dirs": { "source": "source", "dist": "dist", "temp": "temp" }, "dist": { "css": "css", "fonts": "fonts", "img": "img", "js": "js" }, "source": { "scss": "scss", "html": "html", "icons": "icons", "assets": "assets" } }
Обратите внимание!
Все рабочие директории ungic проекта должна находиться в одной директории с конфигурационным файлом или быть вложенными в другие директории, но не могут располагаться уровнем выше! Смотрите пример ниже:
// Позволительно "fs": { "dirs": { "source": "ungic/source", "dist": "ungic/public", "temp": "temp" } ... // Непозволительно "dirs": { "source": "../ungic/source", "dist": "../ungic/public", "temp": "temp" } ... }
# plugins / Базовая конфигурация плагинов
Type: Object
Usage:
Базовая конфигурация плагинов
"plugins": { "scss": { ... }, "html": { ... }, "icons": { ... } }
Ниже, вы можете ознакомиться со всем исходными конфигурационными схемами для каждого плагина.
Обратите внимание!
Ниже приведены "исходные" конфигурационные схемы со значениями по умолчанию.
# plugins.scss
Type: Object
Usage:
Исходная конфигурационная схема
dirAttribute: { type: 'string', default: 'dir' }, htmlIsRootElement: { type: 'boolean', default: true }, generateThemeColorsVars: { type: 'boolean', default: false }, themeColorsVarsMode: { type: 'boolean', default: false }, cleancss: { "anyOf": [ { type: 'object' }, { type: 'boolean' } ], default: true }
Пояснение:
... "scss": { // Переключить методы ungic.theme модуля в режим генерации переменных вместо цвета "themeColorsVarsMode": false, // Генерировать переменные для всех цветов тем (без оттенков) "generateThemeColorsVars": false, // DIR аттрибут для rtl-postcss плагина (атрибут который отвечает за направление текста) "dirAttribute": "dir", // Сделать основным элементом HTML тег (по умолчанию), а иначе, требуется использовать произвольный атрибут data-ungic-root "htmlIsRootElement": true, // Включить обработку clean-css плагином, можно передать параметры в виде объекта "cleancss": true }
# plugins.html
Type: Object
Usage:
Исходная конфигурационная схема
beautify: { type: 'object', default: {} }, minifier: { type: 'object', default: {} }, cheerio: { type: 'object', default: { decodeEntities: false } }, customTypeHandlers: { type: 'object', patternProperties: { "^[A-z_]+\w*$": { type: "object", required: ["transformer"], properties: { transformer: { type: "string" }, dev: { type: "boolean", default: false }, includeHandler: { "anyOf": [{ type: 'string' }, { type: 'boolean' } ] } } } } }, dirAttribute: { type: 'string', default: 'dir' }, replaceAmpToSymbol: { type: 'boolean', default: true }, cleancss: { type: 'object', default: {} }, relativeSrc: { type: 'boolean', default: false }, deleteFromDist: { type: 'boolean', default: false }
Пояснение:
... "html": { // Опции для js-beautify плагина, можно использовать // в корне конфигурационного файла относительно режима разработки, // для подробностей смотрите mode опцию. "beautify": {}, // DIR атрибут, должен быть таким же, как и у SCSS плагина. "dirAttribute": "dir", // Опции для html-minifier плагина, можно использовать // в корне конфигурационного файла относительно режима разработки, // для подробностей смотрите mode опцию. "minifier": {}, // Добавление пользовательского обработчика файлов "customTypeHandlers": { "mustache": { // Трансформер применяется каждый раз когда содержимое файла // изменилось. Должен вернуть асинхронную функцию // которая в свою очередь должна вернуть обработанное // значение содержимого файла. Подробнее в документации HTML плагина. "transformer": "./mustache/transformer", // Синхронная функция, которая используется // для обработки содержимого файла во время // его включения. "includeHandler": "./mustache/handler", // Ражем разработки для includeHandler "dev": false } }, // Настройки для cheerio плагина "cheerio": { "decodeEntities": false }, // Заменять & на знак & "replaceAmpToSymbol": true, // Опции для clean-css плагина, можно использовать // в корне конфигурационного файла относительно режима разработки, // для подробностей смотрите mode опцию. // HTML плагин использует postcss обработку // внутренних стилей документа при генерации релиза (На усмотрение). "cleancss": {}, // Тестовая опция. По умолчанию, при разработке, все пути // до стилей и ресурсов ведут на локальный сервер, // данная опция позволяет использовать относительный путь вместо ссылок. "relativeSrc": false, // При удалении документа из source директории // удалять файл и из dist директории. // Не рекомендуется использовать данную опцию, во избежании потери данных! "deleteFromDist": false } ...
# plugins.icons
Type: Object
Usage:
Исходная конфигурационная схема
{ startCodepoint: { type: 'number', default: 61696 }, sprites: { type: 'object', properties: { className: { type: 'string' }, maxWidth: { type: 'number' }, maxHeight: { "oneOf": [ { type: "boolean", enum:[false]}, { type: "number" } ] } }, default: { className: 'sprite', maxWidth: 70, maxHeight: false } }, svgSprite: { type: 'object', properties: { className: { type: 'string' }, removeColors: { type: 'boolean' }, external: { type: 'boolean' }, width: { "oneOf": [ { type: "string" }, { type: "number" } ] }, height: { "oneOf": [ { type: "string" }, { type: "number" } ] } }, default: { width: '2em', height: '2em', external: false, removeColors: true, className: 'svg-icon' } }, fonts: { type: 'object', properties: { lables: { type: 'boolean' }, className: { type: 'string' }, name: { type: 'string' }, fixedWidth: { type: 'boolean' }, fontHeight: { type: 'number' }, fontWeight: { type: 'number' }, centerHorizontally: { type: 'boolean' }, normalize: { type: 'boolean' }, fontSize: { "oneOf": [ { type: "string" }, { type: "number" } ] } }, default: { name: 'ungic', fixedWidth: false, fontHeight: 512, centerHorizontally: true, normalize: true, fontWeight: 400, className: 'icon', fontSize: '2em', lables: true } } }
Пояснение:
... { "icons": { "startCodepoint": 61696, // Конфигурация для спрайтов (PNG, JPEG..) "sprites": { "className": "sprite", "maxWidth": 70, "maxHeight": false }, // Конфигурация для SVG спрайтов "svgSprite": { "width": "2em", "height": "2em", "external": false, "removeColors": true, "className": "svg-icon" }, // Конфигурация для иконок - шрифтов. "fonts": { // Название шрифта иконок "name": "ungic", "fixedWidth": false, "fontHeight": 512, "centerHorizontally": true, "normalize": true, "fontWeight": 400, // Имя класса иконок "className": "icon", // Базовый размер иконок "fontSize": "2em", // Для поддержки доступности иконок, // рекомендуется генерировать для них заголовки // которые видны программам чтения с экрана. "lables": true } } } ...
# build / Конфиг. сборки проекта
Type: Object
Usage:
Настройки плагинов по сборке проекта и релиза.
# build.releases / Конфиг. релиза
Type: Object
Usage:
Данный объект содержит конфигурационные схемы, которые применяются при генерации общего релиза. Ключ объекта - это build_name параметр который указывается в команде при создании релиза, а значение - объект с параметрами релиза.
"releases": { "{build_name}": {...params} }
# build.releases[build_name]
Usage:
Для генерации релиза требуется передать build_name параметр, данный параметр является ключом releases объекта, а его значение - объект с параметрами релиза.
Пример default конфигурации по умолчанию:
... "releases": { // default = build_name "default": { // Перенести все файлы из assets директории в dist, иначе будут перенесены только те, что явно используются. "saveAllAssets": true, // Можно задать имя хоста или относительный путь. // Все ссылки в файлах будут обработаны относительного данного пути. "host": "", // Генерировать динамические имена файлов путем добавления версии сборки к именам файлов. "noConflict": true, // Оптимизация путей. "urlsOptimization": true, // Требуется указать build_name для sass конфигурации релиза "scssBuildName": "default", // Требуется указать build_name для html конфигурации релиза "htmlBuildName": "default", // Требуется указать build_name для icons конфигурации релиза "iconsBuildName": "default", // Данная опция позволяет включать в релиз только то, // что были использовано в проекте. // Стоит обратить внимание, данная опция может быть включена только тогда // когда процесс включения всех ресурсов (стили, иконки, изображения) // используется непосредственно с помощью инструментов ungic. // Смотрите пример ниже. "includeOnlyUsedComponents": false, // Индивидуальный релиз иконок и стилей для каждой выбранной страницы релиза "combineIcons": true, "combineScssComponents": true } } ...
Пример использования includeOnlyUsedComponents параметра:
Если сгенерировать релиз с нижеприведенной для примера HTML страницей, то в релизе, будет присутствовать только одна home иконка, а features иконка будет отсутствовать, так как, данная иконка была использована без icon handlebars хелпера, который не только рендерит иконку, но и регистрирует входную точку и привязывает данную иконку к текущей странице.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <a href="#">{{{icon "home"}}} Home page</a> <a href="#"><i class="icon icon-features"></i> Home page</a> </body> </html>
Пример использования при билде релиза посредством CLI
ungic: release --help ------- System: CLI ------- | Not enough non-option arguments: got 0, need at least 1 --------------------------- ungic: index.js release <release_name> [version] [build_name] ungic: release myRelease 1.0 default
# build.plugins / Конфиг. плагинов по сборке проекта
Type: Object
Usage:
В данной секции задаются конфигурации для каждого из плагина которые влияют на сборку проекта.
... { "build": { "plugins": { "html": { ... }, "scss": { ... }, "icons": { ... } } } } ...
Конфигурационный объект состоит из двух ключей dev и release:
"icons": { "dev": { ... }, "release": { ... } }
В dev объекте указываются конфигурационные параметры которые будут применены в среде разработки.
Обратите внимание!
Данная конфигурация не зависит от mode режима сборки (development|production). Вся разработка в ungic ведется исключительно в dev режиме и это не влияет на env переменную процесса.
В release объекте указываются конфигурационные параметры которые будут применены при создании релиза. Данный объект, также состоит из двух ключей configs и build:
"icons": { ... "release": { "configs": { ... }, "build": { ... } } }
В build объекте регистрируются конфигурационные схемы релизов, ключ объекта является значением build_name параметра
ungic: icons ungic icons: release --help ungic icons: index.js release <release_name> [build_name]
В configs указываются параметры конфигурации релиза, а сам релиз ссылается на данный конфиг
Пример:
"icons": { ... "release": { "configs": { "main": { ... } }, "build": { "configId": "main", ... } } }
# build.plugins.html
Type: Object
Usage:
Конфигурация которая используется html плагином для сборки проекта.
Исходная конфигурационная схема
dev: { type: "object", properties: { formatting: { "anyOf": [{ type: 'string', enum: ['minifier', 'beautify'] }, { type: 'boolean', enum: [false] } ] }, validation: { type: 'boolean' } }, default: { formatting: 'beautify', validation: false } }, release: { properties: { configs: { type: 'object', patternProperties: { "^[A-z_]+\w*$": { type: "object", properties: { formatting: { "anyOf": [{ type: 'string', enum: ['minifier', 'beautify'] }, { type: 'boolean', enum: [false] } ] }, validation: { type: 'boolean' }, includeLocalStyles: { type: 'boolean' }, mergeInternalStyles: { type: 'boolean' }, optimizeInternalStyles: { type: 'boolean' }, includeLocalScripts: { type: 'boolean' }, internalScriptsToFooter: { type: 'boolean' }, externalScriptsToFooter: { type: 'boolean' }, mergeInternalScripts: { type: 'boolean' }, optimizeInternalScripts: { type: 'boolean' } } } } }, build: { type: "object", patternProperties: { "^[A-z_]+\w*$": { type: "object", required: ['configId', 'pages'], properties: { version: { type: 'string' }, configId: { type: "string", default: "default" }, pages: { "anyOf": [{ type: "array", }, { type: "string", enum: ["*"] } ] }, excludePages: { type: 'array' } } } }, additionalProperties: false } }, default: { configs: { default: { formatting: 'beautify', validation: false, includeLocalStyles: false, mergeInternalStyles: false, optimizeInternalStyles: false, includeLocalScripts: false, internalScriptsToFooter: false, externalScriptsToFooter: false, mergeInternalScripts: false, optimizeInternalScripts: false } }, build: { default: { pages: "*", excludePages: [], configId: "default" } } } }
Пояснение:
// Конфиг в режиме разработки "dev": { // Тип форматирования "formatting": "beautify", // Проверять на валидность HTML и генерировать отчёт "validation": false }, // Конфигурации для релиза. "release": { "configs": { // Конфигурация с именем "default" "default": { // Тип форматирования // - beautify с сохранением пробелов/табов // - minifier сжатое "formatting": "beautify", // Проверять на валидность HTML и генерировать отчёт "validation": false, // Включить внешние css стили во внутренние? (Действует только на локальные файлы) "includeLocalStyles": false, // Объединить внутренние стили? "mergeInternalStyles": false, // Оптимизировать внутренние стили? "optimizeInternalStyles": false, // Включить внешние js скрипты во внутренние? (Действует только на локальные файлы) "includeLocalScripts": false, // Переместить внутренние скрипты в подвал? "internalScriptsToFooter": false, // Переместить внешние скрипты в подвал? "externalScriptsToFooter": false, // Объединить внутренние скрипты? "mergeInternalScripts": false, // Оптимизировать внутренние скрипты? "optimizeInternalScripts": false } }, "build": { "default": { // Какие страницы генерировать, поддерживается звездочка для выбора всех страниц. "pages": "*", // Если в pages указана звездочка, тут можно указать исключения "excludePages": [], // Тут указываем имя конфигурации "configId": "default" } } }
Обратите внимание!
Из конфигурации выше, при выборе html страниц для релиза, используется ключ pages, значение которого может быть звездочкой * или массивом с относительными путями от исходной рабочей папки HTML плагина, по умолчанию: source/html/
# build.plugins.scss
Type: Object
Usage:
Конфигурация которая применяется для сборки проекта scss плагином.
Исходная конфигурационная схема
dev: { type: "object", required: ['theme'], properties: { theme: { type: "string" }, autoprefixer: { type: "boolean", default: true }, inverse: { type: "boolean" }, defaultInverse: { type: "boolean" }, direction: { type: "string", enum: ["ltr", "rtl"] }, oppositeDirection: { type: "boolean" } }, default: { inverse: true, autoprefixer: true, defaultInverse: false, direction: 'ltr', oppositeDirection: true, theme: 'default' } }, release: { properties: { configs: { type: 'object', patternProperties: { "^[A-z_]+\w*$": { type: "object", required: ['autoprefixer', 'inverse', 'defaultInverse', 'themeMode', 'inverseMode', 'direction', 'oppositeDirection'], properties: { versionInFilename: { type: 'boolean' }, autoprefixer: { type: "boolean" }, inverse: { type: "boolean" }, defaultInverse: { type: "boolean" }, themeMode: { type: "string", enum: ["combined", "external"] }, inverseMode: { type: "string", enum: ["combined", "external"] }, direction: { "anyOf": [{ type: "string", enum: ["ltr", "rtl"] }, { type: "boolean", enum: [false] } ] }, oppositeDirection: { type: "boolean" } } } }, additionalProperties: false }, build: { type: "object", patternProperties: { "^[A-z_]+\w*$": { type: "object", required: ['components', 'configId'], properties: { configId: { type: "string", default: "default" }, defaultTheme: { type: "string" }, themes: { "anyOf": [{ type: "array", }, { type: "boolean", enum: [false] }, { type: "string", enum: ["*"] } ] }, version: { type: 'string' }, excludeComponents: { type: 'array' }, components: { "anyOf": [{ type: "array", }, { type: "string", enum: ["*"] } ] } } } }, additionalProperties: false } }, default: { configs: { default: { versionInFilename: true, themeMode: "external", inverseMode: "combined", inverse: true, defaultInverse: false, autoprefixer: true, direction: 'ltr', oppositeDirection: true } }, build: { default: { configId: "default", themes: [], defaultTheme: "default", components: "*", excludeComponents: [] } } } }
Пояснение:
"scss": { // Конфиг в режиме разработки "dev": { // Генерировать инверсию? "inverse": true, // Обработка плагином autoprefixer "autoprefixer": true, // Инверсия по умолчанию? "defaultInverse": false, // direction по умолчанию (ltr|rtl) "direction": "ltr", // Генерировать противоположное направление? (LTR -> RTL, RTL -> LTR) "oppositeDirection": true, // Тема разработки "theme": "default" }, // Конфигурация релиза "release": { "configs": { "default": { // Версия файла указывается в имени файла, // требуется для избежания кэширования. "versionInFilename": true, // Метод генерации .css файлов тем // - external - отдельный файл для каждой темы // - combined - комбинированный (в общем файле со всеми стилями) "themeMode": "external", // Метод генерации .css файлов для инверсий тем // - external - отдельный файл для каждой темы // - combined - комбинированный (в общем файле со всеми стилями) "inverseMode": "combined", // Генерировать инверсию? "inverse": true, // Инверсия по умолчанию? "defaultInverse": false, // Обработка autoprefixer "autoprefixer": true, // Направление по умолчанию (ltr|rtl) "direction": "ltr", // Генерировать противоположное направление? (LTR -> RTL, RTL -> LTR) "oppositeDirection": true } }, "build": { "default": { // ID конфига "configId": "default", // Темы которые следует включить в проект "themes": [], // Тема по умолчанию "defaultTheme": "default", // Компоненты которые будут собраны в единый релиз. // Звездочка * - все компоненты "components": "*", // Если components - * (звездочка), то тут, указываются исключения "excludeComponents": [] } } } }
TIP
Обратите внимание! В режиме разработки, конфигурацию для dev параметра можно назначать и изменять в реальном времени для каждого компонента, без необходимости перезагрузки проекта! Подробнее в данном разделе.
# build.plugins.icons
Type: Object
Usage:
Конфигурация которая применяется для сборки проекта icons плагином.
Исходная конфигурационная схема
dev: { type: "object", properties: { svgIconsMode: { type: 'string', enum: ["svgSprite", "fonts"] }, svgIcons: { type: "boolean" }, sprites: { type: "boolean" } }, default: { svgIconsMode: 'fonts', sprites: true, svgIcons: true } }, release: { properties: { configs: { type: 'object', patternProperties: { "^[A-z_]+\w*$": { type: "object", properties: { svgIconsMode: { type: 'string', enum: ["svgSprite", "fonts"] } } } } }, build: { type: "object", patternProperties: { "^[A-z_]+\w*$": { type: "object", required: ['configId'], properties: { version: { type: 'string' }, configId: { type: "string" }, svgIcons: { "anyOf": [{ type: "string" }, { type: "array" }, { type: "boolean" } ] }, sprites: { "anyOf": [{ type: "string" }, { type: "array" }, { type: "boolean" } ] } } } }, additionalProperties: false } }, default: { configs: { default: { svgIconsMode: 'fonts' } }, build: { default: { configId: 'default', svgIcons: true, sprites: '**/*.png' } } } }
Пояснение:
// Конфиг в режиме разработки "dev": { // Режим генерации SVG иконок // - fonts как шрифты // - svgSprite как SVG спрайты "svgIconsMode": "fonts", // Генерировать спрайт из растровых иконок? "sprites": true, // Генерировать svg иконки? "svgIcons": true }, // Конфиги для релиза "release": { "configs": { "default": { // Режим генерации SVG иконок "svgIconsMode": "fonts" } }, "build": { "default": { "configId": "default", // Генерировать SVG иконки? // boolean (true) генерировать все иконки // array генерировать конкретные иконки. Требуется указывать ID иконок! // string - glob паттерн относительно source директории "svgIcons": true, // Генерировать растровые иконки в спрайт? // boolean (true) генерировать все растровые иконки в спрайт // array генерировать конкретные растровые иконки. Требуется указывать ID иконок! // string - glob паттерн относительно source директории "sprites": "**/*.png" } } }
Обратите внимание!
При использовании массива в виде значения для svgIcons и sprites параметров, следует указывать ID иконок. ID иконки можно посмотреть в CLI меню Icons плагина с помощью команд
icons
илиsearch
, а также при генерации handlebars шаблона:TIP
Режим генерации SVG иконок можно менять на лету с помощью команды
svgmode [mode]
в CLI icons меню:ungic icons: svgmode // Узнать активный режим ------- System ------- | Active svgIcons mode: fonts ---------------------- ungic icons: svgmode svgSprite // Изменить режим ------- System ------- | Icons generation mode switched to svgSprite! ----------------------
Благодаря использованию icon handlebars хелпера в html страницах, все документы с иконками будут пересобраны с учетом активного режима.