guard-process optipng手表文件夹,用于新图像

时间:2011-11-28 13:29:55

标签: ruby optimization guard

嗨,大家不能让我的后卫进程正确,我正在尝试查看新图像的文件夹,然后使用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

第一个问题是当新图像添加到文件夹时不会触发。接下来的问题是它似乎不喜欢* .png。虽然它似乎在optipng完成之前移动了图像。

1 个答案:

答案 0 :(得分:3)

据我了解,您想在/ images / pre中观看新图像。当新图像到达时,压缩它们并将它们移动到/图像。你的第一个警卫声明应该如下

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命令,您可以使用&&要么 ; (见here

您可以按如下方式更改命令并删除第二个警卫声明

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