Class: Sass::Engine
Overview
This is the class where all the parsing and processing of the Sass template is done. It can be directly used by the user by creating a new instance and calling render
to render the template. For example:
template = File.load('stylesheets/sassy.sass')
sass_engine = Sass::Engine.new(template)
output = sass_engine.render
puts output
Defined Under Namespace
Classes: Line
Constant Summary collapse
- ATTRIBUTE_CHAR =
The character that begins a CSS attribute.
?:
- SCRIPT_CHAR =
The character that designates that an attribute should be assigned to a SassScript expression.
?=
- COMMENT_CHAR =
The character that designates the beginning of a comment, either Sass or CSS.
?/
- SASS_COMMENT_CHAR =
The character that follows the general COMMENT_CHAR and designates a Sass comment, which is not output as a CSS comment.
?/
- CSS_COMMENT_CHAR =
The character that follows the general COMMENT_CHAR and designates a CSS comment, which is embedded in the CSS document.
?*
- DIRECTIVE_CHAR =
The character used to denote a compiler directive.
?@
- ESCAPE_CHAR =
Designates a non-parsed rule.
?\\
- MIXIN_DEFINITION_CHAR =
Designates block as mixin definition rather than CSS rules to output
?=
- MIXIN_INCLUDE_CHAR =
Includes named mixin declared using MIXIN_DEFINITION_CHAR
?+
- ATTRIBUTE =
The regex that matches and extracts data from attributes of the form
:name attr
. /^:([^\s=:]+)\s*(=?)(?:\s+|$)(.*)/
- ATTRIBUTE_ALTERNATE_MATCHER =
The regex that matches attributes of the form
name: attr
. /^[^\s:]+\s*[=:](\s|$)/
- ATTRIBUTE_ALTERNATE =
The regex that matches and extracts data from attributes of the form
name: attr
. /^([^\s=:]+)(\s*=|:)(?:\s+|$)(.*)/
Constants included from Haml::Util
Instance Method Summary collapse
-
#initialize(template, options = {}) ⇒ Engine
constructor
Creates a new instace of Sass::Engine that will compile the given template string when
render
is called. -
#render ⇒ Object
(also: #to_css)
Processes the template and returns the result as a string.
Methods included from Haml::Util
#def_static_method, #enum_with_index, #has?, #map_hash, #map_keys, #map_vals, #powerset, #ruby1_8?, #static_method_name, #to_hash
Constructor Details
#initialize(template, options = {}) ⇒ Engine
Creates a new instace of Sass::Engine that will compile the given template string when render
is called. See README.rdoc for available options.
–
TODO: Add current options to REFRENCE. Remember :filename!
When adding options, remember to add information about them to README.rdoc! ++
91 92 93 94 95 96 97 98 99 |
# File 'lib/sass/engine.rb', line 91 def initialize(template, ={}) @options = { :style => :nested, :load_paths => ['.'] }.merge! @template = template @environment = Environment.new @environment.set_var("important", Script::String.new("!important")) end |
Instance Method Details
#render ⇒ Object Also known as: to_css
Processes the template and returns the result as a string.
102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/sass/engine.rb', line 102 def render begin render_to_tree.perform(@environment).to_s rescue SyntaxError => err err.sass_line = @line unless err.sass_line unless err.sass_filename err.add_backtrace_entry(@options[:filename]) end raise err end end |