class Middleman::Images::Extension

Public Class Methods

new(app, options_hash = {}, &block) click to toggle source
Calls superclass method
# File lib/middleman-images/extension.rb, line 48
def initialize(app, options_hash = {}, &block)
  super
  @manipulator = Manipulator.new(@app, options[:ignore_original])
end

Public Instance Methods

image_path(path, process_options = {}) click to toggle source
Calls superclass method
# File lib/middleman-images/extension.rb, line 20
def image_path(path, process_options = {})
  path = extensions[:images].image_path(path, process_options)
  super(path)
end
image_tag(path, options = {}) click to toggle source
Calls superclass method
# File lib/middleman-images/extension.rb, line 14
def image_tag(path, options = {})
  process_options = options.slice(:resize, :optimize)
  options = { src: image_path(path, process_options) }.update(options.except(:resize, :optimize))
  super(path, options)
end
manipulate_resource_list(resources) click to toggle source
# File lib/middleman-images/extension.rb, line 26
def manipulate_resource_list(resources)
  @manipulator.manipulate_resource_list(resources)
end

Private Instance Methods

absolute_path(path) click to toggle source
# File lib/middleman-images/extension.rb, line 55
def absolute_path(path)
  absolute_path = path.start_with?("/") || path.start_with?(app.config[:images_dir])
  absolute_path ? path : app.config[:images_dir] + "/" + path
end
add_processed_resource(source, process_options) click to toggle source
# File lib/middleman-images/extension.rb, line 60
def add_processed_resource(source, process_options)
  build_processed_path(source, process_options).tap do |processed_path|
    processed_resource = Image.new(app.sitemap, processed_path, source.source_file, process_options.merge(cache_dir: options[:cache_dir]))
    @manipulator.add(processed_resource)
  end
end
build_processed_path(source, process_options) click to toggle source
# File lib/middleman-images/extension.rb, line 67
def build_processed_path(source, process_options)
  destination = source.normalized_path.sub(/#{source.ext}$/, "")
  destination += "-" + CGI.escape(process_options[:resize].to_s) if process_options[:resize]
  destination += "-opt" if process_options[:optimize]
  destination + source.ext
end