Sha256: 5513b9a057e9b4542628aa2b8b7c4a292cb5acf4af159613c27ca346e04cebd8

Contents?: true

Size: 883 Bytes

Versions: 1

Compression:

Stored size: 883 Bytes

Contents

require 'awestruct/handler_chain'
require 'awestruct/handlers/base_handler'
require 'awestruct/handlers/file_handler'

require 'less'

module Awestruct
  module Handlers
    class LessHandler < BaseHandler

      CHAIN = Awestruct::HandlerChain.new( /\.less$/,
        Awestruct::Handlers::FileHandler,
        Awestruct::Handlers::LessHandler
      )

      def initialize(site, delegate)
        super( site, delegate )
      end

      def simple_name
        File.basename( relative_source_path, '.less' )
      end

      def output_filename
        simple_name + '.css'
      end

      def rendered_content(context, with_layouts=true)
        load_paths = [File.dirname( context.page.source_path )]
        less_parser = Less::Parser.new :paths => load_paths, :filename => context.page.source_path
        less_parser.parse( raw_content ).to_css
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
awestruct-0.4.8 lib/awestruct/handlers/less_handler.rb