Search code examples
rubynanoc

How can I get the nanoc SASS filter to use SCSS syntax?


In my nanoc site, I want to specify my styles using SCSS:

p {
  em {
    color: red;
  }
}

... not SASS:

p 
  em 
    color: red

But if I try using SCSS, I get a compile error from the SASS filter. How do I get it to use SCSS?


Solution

  • This turned out to be quite simple:

    filter :sass, syntax: :scss
    

    Filters in nanoc seem to follow the pattern of taking any options they're given and passing them along to whatever object actually does the work. For instance, Nanoc::Filters::Sass does this in its run method:

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

    Sass::Engine, in turn, has :syntax as an available option.