Module: Sass::Tree
- Defined in:
- lib/sass/tree/node.rb,
lib/sass/tree/if_node.rb,
lib/sass/tree/for_node.rb,
lib/sass/tree/prop_node.rb,
lib/sass/tree/root_node.rb,
lib/sass/tree/rule_node.rb,
lib/sass/tree/warn_node.rb,
lib/sass/tree/debug_node.rb,
lib/sass/tree/mixin_node.rb,
lib/sass/tree/while_node.rb,
lib/sass/tree/extend_node.rb,
lib/sass/tree/import_node.rb,
lib/sass/tree/comment_node.rb,
lib/sass/tree/variable_node.rb,
lib/sass/tree/directive_node.rb,
lib/sass/tree/mixin_def_node.rb
Overview
A namespace for nodes in the Sass parse tree.
The Sass parse tree has three states: dynamic, static Sass, and static CSS.
When it's first parsed, a Sass document is in the dynamic state.
It has nodes for mixin definitions and @for
loops and so forth,
in addition to nodes for CSS rules and properties.
Nodes that only appear in this state are called dynamic nodes.
Node#perform returns a static Sass tree, which is different. It still has nodes for CSS rules and properties but it doesn't have any dynamic-generation-related nodes. The nodes in this state are in the same structure as the Sass document: rules and properties are nested beneath one another. Nodes that can be in this state or in the dynamic state are called static nodes.
Node#cssize then returns a static CSS tree. This is like a static Sass tree, but the structure exactly mirrors that of the generated CSS. Rules and properties can't be nested beneath one another in this state.
Finally, Node#to_s can be called on a static CSS tree to get the actual CSS code as a string.
Defined Under Namespace
Classes: CommentNode, DebugNode, DirectiveNode, ExtendNode, ForNode, IfNode, ImportNode, MixinDefNode, MixinNode, Node, PropNode, RootNode, RuleNode, VariableNode, WarnNode, WhileNode