csscomb - andyceo/documentation GitHub Wiki
Для установки csscomb выполнить следующие действия:
Установить npm (если не установлен):
sudo apt-get install npm
Установить csscomb из npm:
sudo npm install csscomb -g
Возможно csscomb после установки будет выдавать ошибку "Файл не найден". Лечение производится добавлением ссылки в /usr/bin/node
:
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Положить файл со следующим содержимым в .git/hooks/pre-commit и сделать его исполняемым
#!/usr/bin/env bash
#Проверка измененных стилей на стандарты css
PATCH_FILE="working-tree.patch"
function cleanup {
exit_code=$?
if [ -f "$PATCH_FILE" ]; then
patch -p0 < "$PATCH_FILE"
rm "$PATCH_FILE"
fi
exit $exit_code
}
#Прибираемся при выходе из скрипта
trap cleanup EXIT SIGINT SIGHUP
# Создаем патч
git diff > "$PATCH_FILE" --no-prefix
# Сбрасываем не застэйдженный изменения
git checkout -- .
# получаем список файлов в которых были изменения, которые мы хотим закоммитить
git_cached_files=$(git diff --cached --name-only --diff-filter=ACMR | xargs echo)
if [ "$git_cached_files" ]; then
#Собственно натравливаем CSScomb.js
csscomb -v -l $git_cached_files || exit 1
fi
При попытке закоммитить что-либо, скрипт будет проверять модифицированные файлы css
на соответствие кодинг-стандартам, описанным в .csscomb.json
. Примерное содержимое файла для проекта на Drupal 8 тут. Ссылки на описание параметров будут в конце статьи.
Открываем Settings -> External Tools
Жмакаем на плюсик.
Name: CSScomb
Options: опционально
Show in: опционально
Program: path_to_programm/csscomb/bin/csscomb. у меня это /usr/local/lib/node_modules/csscomb/bin/csscomb
Parameters:
Working directory: путь до проекта (профиля). у меня это /var/www/drupal/profiles/km
Выбираем любой файл css в проекте и жмем правой кнопкой мыши External Tools -> CSScomb.