csscomb - andyceo/documentation GitHub Wiki

Установка csscomb

Для установки 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

Положить файл со следующим содержимым в .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 тут. Ссылки на описание параметров будут в конце статьи.

Настройка phpshorm для работы с csscomb

Открываем Settings -> External Tools

Жмакаем на плюсик.

Name: CSScomb

Options: опционально

Show in: опционально

Program: path_to_programm/csscomb/bin/csscomb. у меня это /usr/local/lib/node_modules/csscomb/bin/csscomb

Parameters: $FilePath$

Working directory: путь до проекта (профиля). у меня это /var/www/drupal/profiles/km

Использование

Выбираем любой файл css в проекте и жмем правой кнопкой мыши External Tools -> CSScomb.

Ссылки по теме

⚠️ **GitHub.com Fallback** ⚠️