【发布时间】:2013-07-01 15:44:43
【问题描述】:
我在 compass 项目中遇到了不同的 .css 输出路径(到特定文件)的问题。
假设我有这样的目录树:
/
..Fonts
..Folder
..Images
..Sass
.._mixins.scss
..[other_stuff]
..Styles
..config.rb
这是我的config.rb:
http_path = "/"
css_dir = "Styles"
sass_dir = "Sass"
images_dir = "Images"
javascripts_dir = "Scripts"
fonts_dir = "Fonts"
output_style = :nested
relative_assets = true
color_output = false
目标
我需要在“文件夹”目录中使用 sass,我的意思是一些 example.scss 文件必须编译成“文件夹”中的 example.css。但是,我必须将 compass 与相关 url 帮助程序和“Sasss/_mixins.scss”文件中定义的一些 mixin 一起使用。
问题
问题是,我不能为example.scss 指定不同的输出路径,因为在config.rb (Styles) 中指定了scss 的输出路径,对吧?好的,所以我尝试将 ruby 代码添加到config.rb,以便在将 example.css 从“Styles”目录编译到“Folder”目录后将其移动,如下所示:
require 'fileutils'
on_stylesheet_saved do |file|
if File.exists?(file) && File.basename(file) == "example.css"
puts "Moving: #{file}"
FileUtils.mv(file, File.dirname(file) + "/../Folder/" + File.basename(file))
end
end
但是,现在相对的 image-url() 不能正常工作,因为它是在“样式”目录中编译的,因此 url 是相对于这个目录而不是“文件夹”的。
解决方案?
所以我的问题是:实现这一目标的最佳方法或技巧是什么?
【问题讨论】:
标签: css ruby sass compass-sass