guard-process optipng смотреть папку для новых изображений - PullRequest
2 голосов
/ 28 ноября 2011

Привет, ребята, я не могу правильно понять процесс защиты, я пытаюсь просмотреть папку для новых изображений, а затем с помощью optipng сжать их и другую команду для их перемещения.

# Compress png
guard 'process', :name => 'Compress PNG', :command => 'optipng -o7 images/pre/*.png' do
 watch(/^images\/(.*)\.png/)
end

# Move png from pre to images
guard 'process', :name => 'Move png in pre to images root', :command => 'mv images/pre/*.png images/*.png' do
  watch(/^images\/pre\/(.*)\.png/)
end

theПервая проблема - это не срабатывает при добавлении нового изображения в папку.Следующая проблема в том, что ей не нравится * .png.Также кажется, что изображение передвигается до завершения операции optipng.

1 Ответ

3 голосов
/ 12 февраля 2012

Как я понимаю, вы хотите посмотреть новые изображения в / images / pre. Когда появятся новые изображения, сожмите их и переместите в / images. Ваше первое охранное заявление должно быть следующим:

guard 'process', :name => 'Compress PNG', :command => 'optipng -o7 images/pre/*.png' do
 watch(/^images\/pre\/(.*)\.png/) # Watch images/pre/*.png not images/*.png
end

Чтобы последовательно выполнить 2 команды Linux, вы можете использовать && или; (см. здесь )

Вы можете изменить свою команду следующим образом и удалить второй защитный оператор

:command => "optipng -o7 images/pre/*.png && mv images/pre/*.png images/*.png"
...