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; }"
@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.
@option options :indent [String] (“ ”)
The string to use for indenting each line. Defaults to two spaces.
# File lib/sass/css.rb, line 29 def initialize(template, options = {}) if template.is_a? IO template = template.read end @options = options.dup # Backwards compatibility @options[:old] = true if @options[:alternate] == false @template = template end
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
# File lib/sass/css.rb, line 45 def render(fmt = :sass) check_encoding! build_tree.send("to_#{fmt}", @options).strip + "\n" rescue Sass::SyntaxError => err err.modify_backtrace(:filename => @options[:filename] || '(css)') raise err end
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`
# File lib/sass/css.rb, line 60 def source_encoding check_encoding! @original_encoding end
Generated with the Darkfish Rdoc Generator 2.