module Middleman::Thumbnailer

Constants

VERSION

Attributes

options[RW]

Public Class Methods

included(app, options={})
Alias for: registered
registered(app, options={}) click to toggle source
# File lib/middleman-thumbnailer/extension.rb, line 12
def registered(app, options={})

  options[:filetypes] ||= [:jpg, :jpeg, :png]
  options[:include_data_thumbnails] = false unless options.has_key? :include_data_thumbnails
  options[:namespace_directory] = ["**"] unless options.has_key? :namespace_directory

  Thumbnailer.options = options

  app.helpers Helpers

  options[:middleman_app] = app

  app.after_configuration do

    options[:build_dir] = build_dir

    #stash the source images dir in options for the Rack middleware
    options[:images_source_dir] = File.join(source_dir, images_dir)
    options[:source_dir] = source_dir

    dimensions = options[:dimensions]
    namespace = options[:namespace_directory]

    app.before_build do
      dir = File.join(source_dir, images_dir)


      files = DirGlob.glob(dir, namespace, options[:filetypes])

      files.each do |file|
        path = file.gsub(source_dir, '')
        specs = ThumbnailGenerator.specs(path, dimensions)
        ThumbnailGenerator.generate(source_dir, File.join(root, build_dir), path, specs)
      end
    end

    sitemap.register_resource_list_manipulator(:thumbnailer, SitemapExtension.new(self), true)

    app.use Rack, options
  end
end
Also aliased as: included