Sha256: 851d761f4660368d2c6b49af3c4d009dd472dc9cf93f9853b9dd6a86d6861a3c

Contents?: true

Size: 1.19 KB

Versions: 15

Compression:

Stored size: 1.19 KB

Contents

require 'less'

module Middleman
  module Renderers
    # Sass renderer
    module Less
      # Setup extension
      class << self
        # Once registered
        def registered(app)
          # Default less options
          app.config.define_setting :less, {}, 'LESS compiler options'

          app.before_configuration do
            template_extensions less: :css
          end

          app.after_configuration do
            ::Less.paths << File.join(source_dir, config[:css_dir])
          end

          # Tell Tilt to use it as well (for inline sass blocks)
          ::Tilt.register 'less', LocalLoadingLessTemplate
          ::Tilt.prefer(LocalLoadingLessTemplate)
        end

        alias_method :included, :registered
      end

      # A SassTemplate for Tilt which outputs debug messages
      class LocalLoadingLessTemplate < ::Tilt::LessTemplate
        def prepare
          if ::Less.const_defined? :Engine
            @engine = ::Less::Engine.new(data)
          else
            parser  = ::Less::Parser.new(options.merge filename: eval_file, line: line, paths: ['.', File.dirname(eval_file)])
            @engine = parser.parse(data)
          end
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
middleman-core-3.4.1 lib/middleman-core/renderers/less.rb
middleman-core-3.4.0 lib/middleman-core/renderers/less.rb
middleman-core-3.3.12 lib/middleman-core/renderers/less.rb
middleman-core-3.3.11 lib/middleman-core/renderers/less.rb
middleman-core-3.3.10 lib/middleman-core/renderers/less.rb
middleman-core-3.3.9 lib/middleman-core/renderers/less.rb
middleman-core-3.3.8 lib/middleman-core/renderers/less.rb
middleman-core-3.3.7 lib/middleman-core/renderers/less.rb
middleman-core-3.3.6 lib/middleman-core/renderers/less.rb
middleman-core-3.3.5 lib/middleman-core/renderers/less.rb
middleman-core-cj-3.3.6 lib/middleman-core/renderers/less.rb
middleman-core-cj-3.3.5 lib/middleman-core/renderers/less.rb
middleman-core-cj-3.3.4 lib/middleman-core/renderers/less.rb
middleman-core-3.3.4 lib/middleman-core/renderers/less.rb
middleman-core-3.3.3 lib/middleman-core/renderers/less.rb