Как стать автором
Обновить

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

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

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



Уже как месяц назад пересел с окошек на 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

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

  1. #!/bin/bash
  2. echo "Start watching... Cancel -> Ctrl + C";
  3. while truedo 
  4.     fullname=`find -name "*.less"`;
  5.     inotifywait -qe modify $fullname;
  6.     for fn in $fullnamedo
  7.         filename="$(basename ${fn})";
  8. path="$(dirname $fn)";
  9.  
  10. lessc "${fn}" "${path}/../css/`echo ${filename} | cut -f1 -d. -`.css";
  11.     done;
  12. done;
  13.  


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

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

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

Спасибо!
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.