CSSRB переименовывает пути к файлам в url()
, а также копирует / перемещает эти файлы.
Перед установкой следует убедиться, что уже установлены:
- Node.js (platform built on Chrome's JavaScript runtime) — nodejs.org
- npm (package manager for node) — npmjs.org
Выполнить в command-line:
npm install cssrb -g
Сначала следует создать конфгурационный файл со следующей структурой:
exports.config = {
fromBase: '/src/dir/name/', // <- абсолютный путь
toBase: '/dst/dir/name/', // <- абсолютный путь
patterns: { // <- может быть более одного
'regular expression': 'new/dir/', // <- относительный путь
'..': '..'
}
};
Здесь:
- fromBase — полный путь к корневому каталогу файлов, отсюда CSSRB копирует.
- toBase — полный путь к корневому каталогу файлов, сюда CSSRB копирует.
- patterns — пары значений
{ re: dir }
, состоящие из регулярного выражения, с которым CSSRB будет сверять пути к файлам, и путём, в который переименовать, если совпало.
Алгоритм простой, его следует понимать, чтобы лучше писать конфигурационный файл:
- взять из
url()
путь к файлу —inPath
; - сверить его с шаблонами;
- если совпадение найдено, взять из
inPath
имя файла (для/my/file.png
этоfile.png
) и присоединить кdir
из совпавшей пары, после чего заменить в CSS старый путь на новый; - если при запуске CSSRB был указан ключ
-mv
, переместить файл изfromBase + inPath
вtoBase + dir + fileName
; - или, если при запуске CSSRB был указан ключ
-cp
, скопировать файл изfromBase + inPath
вtoBase + dir + fileName
.
Пример конфигурационного файла .cssrb.js:
exports.config = {
fromBase: '/Users/user/projects/cssrb/sample/',
toBase: '/Users/user/projects/cssrb/sample/',
patterns: {
'^/?from': '/to/'
}
};
Пример CSS sample.css:
a {
test: url(/from/sample.png)
}
Запуск (из корня проекта cssrb
):
cssrb -c sample/.cssrb.js sample/sample.css sample/_sample.css -cp
В результате появился каталог sample/to
с файлом sample.png
, а _sample.css
выглядит так:
a {
test: url('/to/sample.png')
}
cssrb
показывает этот текст
cssrb -h
cssrb --help
показывает этот текст
cssrb -c <config_path>
cssrb --config <config_path>
указывает путь к конфигурационному файлу
cssrb -cp
cssrb --copy
копировать файлы
cssrb -mv
cssrb --move
перемещать файлы
csso <in_имя_файла> <out_имя_файла>
csso -i <in_имя_файла> -o <out_имя_файла>
csso --input <in_имя_файла> --output <out_имя_файла>
переименовывает URL'ы в <in_имя_файла> и записывает результат в <out_имя_файла>
cssrb -v
cssrb --version
показывает номер версии