| Class | Webgen::ContentProcessor::Less |
| In: |
lib/webgen/contentprocessor/less.rb
|
| Parent: | Object |
Generates valid CSS from CSS-like input, supporting variables, nesting and mixins.
Convert the content in context to valid CSS.
# File lib/webgen/contentprocessor/less.rb, line 11
11: def call(context)
12: require 'less'
13: context.content = ::Less.parse(context.content)
14: context
15: rescue ::Less::SyntaxError => e
16: line = e.message.scan(/on line (\d+):/).first.first.to_i rescue nil
17: raise Webgen::RenderError.new(e, self.class.name, context.dest_node, context.ref_node, line)
18: rescue ::Less::MixedUnitsError => e
19: raise Webgen::RenderError.new("Can't mix different units together: #{e}",
20: self.class.name, context.dest_node, context.ref_node)
21: rescue ::Less::VariableNameError => e
22: raise Webgen::RenderError.new("Variable name is undefined: #{e}",
23: self.class.name, context.dest_node, context.ref_node)
24: rescue ::Less::MixinNameError => e
25: raise Webgen::RenderError.new("Mixin name is undefined: #{e}",
26: self.class.name, context.dest_node, context.ref_node)
27: rescue ::Less::ImportError => e
28: raise Webgen::RenderError.new(e, self.class.name, context.dest_node, context.ref_node)
29: rescue LoadError
30: raise Webgen::LoadError.new('less', self.class.name, context.dest_node, 'less')
31: end