Class Sass::CSS
In: lib/sass/css.rb
Parent: Object

This class converts CSS documents into Sass or SCSS templates. It works by parsing the CSS document into a {Sass::Tree} structure, and then applying various transformations to the structure to produce more concise and idiomatic Sass/SCSS.

Example usage:

    Sass::CSS.new("p { color: blue }").render(:sass) #=> "p\n  color: blue"
    Sass::CSS.new("p { color: blue }").render(:scss) #=> "p {\n  color: blue; }"

Methods

new   render   source_encoding  

Public Class methods

@param template [String] The CSS stylesheet.

  This stylesheet can be encoded using any encoding
  that can be converted to Unicode.
  If the stylesheet contains an `@charset` declaration,
  that overrides the Ruby encoding
  (see {file:SASS_REFERENCE.md#encodings the encoding documentation})

@option options :old [Boolean] (false)

    Whether or not to output old property syntax
    (`:color blue` as opposed to `color: blue`).
    This is only meaningful when generating Sass code,
    rather than SCSS.

Public Instance methods

Converts the CSS template into Sass or SCSS code.

@param fmt [Symbol] `:sass` or `:scss`, designating the format to return. @return [String] The resulting Sass or SCSS code @raise [Sass::SyntaxError] if there‘s an error parsing the CSS template

Returns the original encoding of the document, or `nil` under Ruby 1.8.

@return [Encoding, nil] @raise [Encoding::UndefinedConversionError] if the source encoding

  cannot be converted to UTF-8

@raise [ArgumentError] if the document uses an unknown encoding with `@charset`

[Validate]