Sha256: 3e3575b831d0c58455fe4e516f0195c233ea7315494979ea79872335b4dca3e0

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

require 'sass'
require 'cssminify'
require_relative 'base.rb'

#just require bootsrap and it will be in the sass path
require 'bootstrap-sass'

module Generator
  class SassGenerator < Generator::Base
    def self.add_load_path(path)
      ::Sass.load_paths << path unless ::Sass.load_paths.include?(path)
    end

    def generate(input_folder, output_folder)
      input_folder  = "#{input_folder}/sass"
      output_folder = "#{output_folder}/css"

      Dir.glob("#{input_folder}/*.sass").select do |input_file|
        file_name = input_file.split('/')[-1]
        next unless File.file? input_file and file_name[0] != '_'

        self.class.add_load_path input_folder

        output_file_name = file_name.gsub('.sass', '.css')
        output_file      = File.join(output_folder, output_file_name)

        compile_file(input_file, output_file)
        min_file_name = output_file.sub '.css', '.min.css'
        File.write(min_file_name,
                   CSSminify.compress(
                      File.read(output_file)))
      end
    end

    def compile(input, *args)
      engine = Sass::Engine.new(input)
      engine.render
    end

    def self.changed?(path)
      true #allways recompile sass because of imports
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
easy_html_creator-1.3.2 lib/generator/sass_generator.rb
easy_html_creator-1.3.1 lib/generator/sass_generator.rb
easy_html_creator-1.3.0 lib/generator/sass_generator.rb