使用Middleman 2.0.14,我使用Compass功能在我的CSS文件中生成一些sprite:
@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
文件放在源树中的其他地方?
答案 0 :(得分:2)
我建议用脚本(或after_build
挂钩)清理它们。这是Compass的默认行为,在开发模式下生成图像,并且需要一些猴子修补才能更改(目前,Compass beta可以直接访问这些选项)。
在3.0中,您可以尝试:
configure :build do
ignore "source/images/companies/*.png"
end
但我不确定指南针会不会因此而窒息。
答案 1 :(得分: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;