Pull to refresh

Консольный компилятор 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.
Конструктивная критика, дополнения, исправления, свои версии приветствуются!

Спасибо!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.