module Haml::Filters::Css

Surrounds the filtered text with `<style>` and CDATA tags. Useful for including inline CSS.

Public Instance Methods

render_with_options(text, options) click to toggle source

@see Haml::Filters::Base#render_with_options

# File lib/haml/filters.rb, line 235
def render_with_options(text, options)
  indent = options[:cdata] ? '    ' : '  ' # 4 or 2 spaces
  if options[:format] == :html5
    type = ''
  else
    type = " type=#{options[:attr_wrapper]}text/css#{options[:attr_wrapper]}"
  end

  str = "<style#{type}>\n"
  str << "  /*<![CDATA[*/\n" if options[:cdata]
  str << "#{indent}#{text.rstrip.gsub("\n", "\n#{indent}")}\n"
  str << "  /*]]>*/\n" if options[:cdata]
  str << "</style>"

  str
end