Sha256: 4f3c7e1038ba1eb741f07466c4985e289fccef75789390d5372e065265251ae2

Contents?: true

Size: 1.05 KB

Versions: 36

Compression:

Stored size: 1.05 KB

Contents

require 'less'

module Middleman
  module Renderers
    # Sass renderer
    class Less < ::Middleman::Extension
      define_setting :less, {}, 'LESS compiler options'

      def initialize(app, options={}, &block)
        super

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

      def after_configuration
        app.files.by_type(:source).watchers.each do |source|
          ::Less.paths << (source.directory + app.config[:css_dir]).to_s
        end
      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({}.merge!(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

36 entries across 36 versions & 3 rubygems

Version Path
middleman-core-4.5.1 lib/middleman-core/renderers/less.rb
middleman-core-4.5.0 lib/middleman-core/renderers/less.rb
middleman-core-4.4.3 lib/middleman-core/renderers/less.rb
middleman-core-4.4.2 lib/middleman-core/renderers/less.rb
middleman-core-4.4.0 lib/middleman-core/renderers/less.rb
middleman-core-4.3.11 lib/middleman-core/renderers/less.rb
middleman-core-4.3.10 lib/middleman-core/renderers/less.rb
middleman-core-4.3.8 lib/middleman-core/renderers/less.rb
middleman-core-4.3.7 lib/middleman-core/renderers/less.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/middleman-core-4.3.3/lib/middleman-core/renderers/less.rb
middleman-core-4.3.6 lib/middleman-core/renderers/less.rb
middleman-core-4.3.5 lib/middleman-core/renderers/less.rb
middleman-core-4.3.4 lib/middleman-core/renderers/less.rb
middleman-core-4.3.3 lib/middleman-core/renderers/less.rb
middleman-core-4.3.2 lib/middleman-core/renderers/less.rb
middleman-core-4.3.1 lib/middleman-core/renderers/less.rb
middleman-core-4.3.0 lib/middleman-core/renderers/less.rb
middleman-core-with-external-sources-watch-fix-4.1.10 lib/middleman-core/renderers/less.rb
middleman-core-with-external-sources-watch-fix-4.1.0 lib/middleman-core/renderers/less.rb
middleman-core-4.3.0.rc.1 lib/middleman-core/renderers/less.rb