Method: Less::Node::Element#to_css
- Defined in:
- lib/less/engine/nodes/element.rb
#to_css(path = [], env = nil) ⇒ Object
Entry point for the css conversion
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/less/engine/nodes/element.rb', line 143 def to_css path = [], env = nil path << @selector.to_css << name unless root? # puts "to_css env: #{env ? env.variables : "nil"}" content = @rules.select do |r| r.is_a?(Mixin::Call) || r.instance_of?(Property) end.map do |i| ' ' * 2 + i.to_css(env) end.compact.reject(&:empty?) * "\n" content = content.include?("\n") ? "\n#{content}\n" : " #{content.strip} " ruleset = if is_a?(Mixin::Def) content.strip else !content.strip.empty?? "#{[path.reject(&:empty?).join.strip, *@set.map(&:name)].uniq * ', '} {#{content}}\n" : "" end ruleset + elements.reject {|e| e.is_a?(Mixin::Def) }.map do |i| i.to_css(path, env) end.reject(&:empty?).join ensure 2.times { path.pop } end |