class Middleman::FontcustomExtension

Public Class Methods

new(app, options_hash={}, &block) click to toggle source
Calls superclass method
# File lib/middleman-fontcustom/extension.rb, line 14
def initialize(app, options_hash={}, &block)
  super

  return unless app.environment == :development

  options_hash = options.to_h

  compile = ->(config){
    ::Fontcustom::Base.new({
      :font_name => config[:font_name],
      :input => config[:source_dir],
      :output => {
        :fonts => config[:fonts_dir],
        :css => config[:css_dir]
      },
      :templates => config[:templates].split(/\s/),
      :no_hash => config[:no_hash],
      :preprocessor_path => config[:preprocessor_path],
      :autowidth => config[:autowidth]
    }).compile
  }

  app.ready do

    files.changed do |file|
      next if files.send(:ignored?, file)
      next if options_hash[:source_dir] != File.dirname(file)

      begin
        compile.call(options_hash)
      rescue => e
        logger.info e.message
      end
    end

    files.deleted do |file|
      next if files.send(:ignored?, file)
      next if options_hash[:source_dir] != File.dirname(file)

      begin
        compile.call(options_hash)
      rescue => e
        logger.info e.message
      end
    end

  end
end