コンパス プロジェクトで、(特定のファイルへの) 異なる .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にコンパイルする必要があります。しかし、「Sasss/_mixins.scss」ファイルで定義された相対 URL ヘルパーといくつかのミックスインでコンパスを使用する必要があります。
問題
問題は、example.scss
scss の出力パスがconfig.rb
( Styles
) 内に指定されているため、別の出力パスを指定できないことです。config.rb
わかりましたので、次のように「Styles」ディレクトリから「Folder」ディレクトリにコンパイルした後にexample.cssを移動するために、ルビーコードを追加してみました:
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
しかし、現在、relative image-url() は「Styles」ディレクトリでコンパイルされているため、正しく機能しません。したがって、url は「Folder」ディレクトリではなく、このディレクトリに対して相対的です。
解決?
私の質問は次のとおりです。これを達成するための最良の方法またはハックは何ですか?