2012-02-18 30 views
0

使用中间人2.0.14,我用的罗盘功能,产生在我的CSS文件中的一些精灵用:在Middleman中使用Compass生成的精灵,如何从构建中删除精灵源文件?

@import "companies/*.png"; 
@include all-companies-sprites; 

这从source/images/companies/*.png需要的所有文件,并生成一个精灵文件source/images/companies-s45e421528f.png。到现在为止还挺好。

当我做一个middleman build时,它尽职地复制生成的图像文件,但也包括companies/*.png文件。

有一个部署脚本删除这些额外的文件,但我不知道是否有一个选项,我失踪的地方没有什么大不了? (或者,“几乎准备发布MM 3.x”有一个解决方案?)也许我应该把companies/*.png文件放在源码树的其他地方?

回答

2

我建议用脚本(或钩子)清理它们。这是Compass的默认行为,用于在开发模式下生成图像,并且需要修改一些猴子修补(目前,Compass beta可以直接访问这些选项)。

在3.0,你可以尝试:

configure :build do 
    ignore "source/images/companies/*.png" 
end 

但我不知道指南针不会对呛。

0

使用ignore对我来说显着减慢构建,因此我更愿意将精灵资产放在source/之外。

这样,在source/sprites/,build/sprites下生成精灵,并且在没有ignore的情况下排除源。

这里是如何设置此:

# config.rb 

compass_config do |config| 
    # tell Compass to load sprites from `project_root/sprites` 
    config.sprite_load_path = 
     config.sprite_load_path 
     .to_a 
     .push(File.join root, 'sprites') 
end 
# style.css.scss 

@import "..sprites/companies/*.png"; 
@include all-companies-sprites;