如何让nanoc SASS过滤器使用SCSS语法?

Nat*_*ong 12 ruby nanoc

在我的nanoc网站中,我想使用SCSS指定我的样式:

p {
  em {
    color: red;
  }
}
Run Code Online (Sandbox Code Playgroud)

......不是SASS:

p 
  em 
    color: red
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试使用SCSS,我会从SASS过滤器中收到编译错误.如何使用SCSS?

Nat*_*ong 15

事实证明这很简单:

filter :sass, syntax: :scss
Run Code Online (Sandbox Code Playgroud)

nanoc中的过滤器似乎遵循采用任何选项的模式,并将它们传递给实际完成工作的任何对象.例如,Nanoc::Filters::Sass在它的run方法中这样做:

def run(content, params={})
  options = params.dup
  # supply default options, etc...
  engine = ::Sass::Engine.new(content, options)
  # ...
  engine.render
end
Run Code Online (Sandbox Code Playgroud)

Sass::Engine反过来,有:syntax一个可用的选项.

  • 使用Compass,您还可以在```config.rb```文件中查找所有选项:```Compass.add_project_configuration('config.rb')```然后在规则中你只需将整个集合传递给它:```filter:sass,Compass.sass_engine_options``` (3认同)