在Sinatra app中使用Compass为SCSS设置output_style

时间:2013-09-20 19:53:55

标签: sinatra sass compass-sass

我在看Compass-Sinatra starter file on GitHub。有没有办法在Sinatra中为scss文件设置output_style?理想情况下,我希望在开发时将样式设置为:expanded

我认为我无法理解sass(:"stylesheets/#{params[:name]}", Compass.sass_engine_options )如何运作以及我可以在哪里设置这些选项。

1 个答案:

答案 0 :(得分:0)

我发现将output_style设置添加到compass.config文件可用于更改output_style。它可以放在if defined?(Sinatra)块中,也可以放在compass.config文件底部的配置块中。

# compass-sinatra-starter/config/compass.config

if defined?(Sinatra)
  # This is the configuration to use when running within sinatra
  project_path = Sinatra::Application.root
  environment = :development
  output_style = :expanded  # This is where you can set the output_style
else
  # this is the configuration to use when running within the compass command line tool.
  css_dir = File.join 'static', 'stylesheets'
  relative_assets = true
  environment = :production
end

# Or if you wanted to have the output_style set for all environments(?) 

# This is common configuration
output_style = :compressed
sass_dir = File.join 'views', 'stylesheets'
images_dir = File.join 'static', 'images'
http_path = "/"
http_images_path = "/images"
http_stylesheets_path = "/stylesheets"

注意:如果您没有看到更改,请停止/启动服务器。

例如,我在styles.scss中有一个views/stylesheets/styles.scss文件,如果我转到http://localhost:4567/stylesheets/styles.css,我会在浏览器中将.scss文件编译为.css。更改output_style,启动/停止服务器.css output_style更改。我不知道使用重新加载器是否可行,但它可能会避免停止/启动?

我找到了其他一些好的资源。 Andrew Stewart有一个blog post和一个GitHub template

最初我试图通过Sinatra了解Sass(s​​css)中的媒体查询,并找到了great video Ben Schwarz posted,但它并未涉及设置的细节。它更多的是媒体查询。 Ben也有source on GitHub

但似乎AssetPack是提供资产的最佳方式。