Sha256: 92be09edad4496a0b6839509d25b0b3fbaf0022bbabc63e0ba6afddebcb61d4e

Contents?: true

Size: 923 Bytes

Versions: 2

Compression:

Stored size: 923 Bytes

Contents

module Plate
  # Slightly modified from the Tilt default to just use the Less::Parse instead of Engine.
  #
  # Also adds support for paths
  #
  # Original source: https://github.com/rtomayko/tilt/blob/master/lib/tilt/css.rb
  class LessTemplate < Tilt::Template
    self.default_mime_type = 'text/css'

    def self.engine_initialized?
      defined? ::Less
    end

    def initialize_engine
      require_template_library 'less'
    end

    def prepare
    end

    def evaluate(scope, locals, &block)
      paths = [ scope.pathname, File.join(scope.site.source, 'content') ]

      less_options = options.merge({
        :filename => eval_file,
        :line => line,
        :paths => paths
      })

      scope.partials = data.to_s.scan(/@import\s"(.*?)";/i).flatten.collect { |s| s.split('/').last.gsub(/^_/, '') }

      parser = ::Less::Parser.new(less_options)
      parser.parse(data).to_css
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
plate-0.6.3 lib/plate/less_template.rb
plate-0.6.2 lib/plate/less_template.rb