Консольный компилятор LESS to CSS с поддержкой watch (Linux, Bash)

30 Апр
2012

Всем доброго времени суток!

Немного предыстории



Уже как месяц назад пересел с окошек на linux (archlinux + kde), и нарадоваться до сих пор не могу, НО занимаясь web разработкой и очень активно используя LESS, не было найдено ни одного более или менее нормального решения под linux для удобной работы с LESS, я имею ввиду именно компиляцию в CSS (например SimpLESS, хотя и есть версия под linux, но установить ее не удалось по причине того, что она требует старую версию пакета curl).

Да, есть варианты 1 и 2, но они предполагают доп установку окружения (каждый по своему параноик! :-).

Поэтому решил написать свой первый bash-скрипт.



Задача довольно простая, найти все файлы по маске *.less, и при их изменении вызвать стандартный компилятор LESS lessc. (для функционала наблюдения используется notify-tools).

Структура папок
www
|— css
| |— layout.css
| |— reset.css
| |— typography.css
| `— vars.css
|— img
|— js
|— less
| |— layout.less
| |— typography.less
| `— vars.less
|— index.html

Собственно вот код:


#!/bin/bash
echo "Start watching... Cancel -> Ctrl + C";
while true; do 
    fullname=`find -name "*.less"`;
    inotifywait -qe modify $fullname;
    for fn in $fullname; do
        filename="$(basename ${fn})";
path="$(dirname $fn)";
 
lessc "${fn}" "${path}/../css/`echo ${filename} | cut -f1 -d. -`.css";
    done;
done;



Делаем файл исполняемым, закидываем в /usr/bin, и радуемся…

Вот собственно и все, надеюсь сие творение кому то поможет.

P.S.
Конструктивная критика, дополнения, исправления, свои версии приветствуются!

Спасибо!
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх