【问题标题】:How can I get the nanoc SASS filter to use SCSS syntax?如何让 nanoc SASS 过滤器使用 SCSS 语法?
【发布时间】:2012-11-15 12:22:38
【问题描述】:

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

p {
  em {
    color: red;
  }
}

...不是 SASS:

p 
  em 
    color: red

但是如果我尝试使用 SCSS,我会从 SASS 过滤器中得到一个编译错误。如何让它使用 SCSS?

【问题讨论】:

    标签: ruby nanoc


    【解决方案1】:

    事实证明这很简单:

    filter :sass, syntax: :scss
    

    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
    

    Sass::Engine 又具有:syntax 作为available option

    【讨论】:

    • 使用 Compass,您还可以修改 config.rb 文件中的所有选项:Compass.add_project_configuration('config.rb'),然后在规则中您只需将其全部传递:filter :sass, Compass.sass_engine_options
    • 注意:如果您需要它在 Ruby 1.8.x 上工作,请改用旧的哈希语法::syntax => :scss(直到昨天我才注意到 Ruby 1.9.2 引入了新的哈希语法)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多