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/each_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/media_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/return_node.rb,
lib/sass/tree/charset_node.rb,
lib/sass/tree/comment_node.rb,
lib/sass/tree/function_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.

Visitors::Perform creates 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.

Visitors::Cssize is then used to create 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, Visitors::ToCss can be called on a static CSS tree to get the actual CSS code as a string.

Defined Under Namespace

Modules: Visitors Classes: CharsetNode, CommentNode, DebugNode, DirectiveNode, EachNode, ExtendNode, ForNode, FunctionNode, IfNode, ImportNode, MediaNode, MixinDefNode, MixinNode, Node, PropNode, ReturnNode, RootNode, RuleNode, VariableNode, WarnNode, WhileNode