Sha256: ae0035c0cde4a3cf0913eaa43a019aa87f041f2c8d94d6501fc72aed9a27f20d

Contents?: true

Size: 1.77 KB

Versions: 9

Compression:

Stored size: 1.77 KB

Contents

require 'middleman-sprockets/extension'

module Middleman
  class SprocketsExtension < Extension
    def after_configuration
      ::Tilt.register ::Sprockets::EjsTemplate, 'ejs'
      ::Tilt.register ::Sprockets::EcoTemplate, 'eco'
      ::Tilt.register ::Sprockets::JstProcessor, 'jst'

      if app.respond_to?(:template_extensions)
        app.template_extensions :jst => :js, :eco => :js, :ejs => :js
      end

      if app.config.defines_setting?(:debug_assets) && !options.setting(:debug_assets).value_set?
        options[:debug_assets] = app.config[:debug_assets]
      end

      config_environment = @environment
      debug_assets = !app.build? && options[:debug_assets]
      @environment = ::Middleman::Sprockets::Environment.new(app, :debug_assets => debug_assets)
      config_environment.apply_to_environment(@environment)

      append_paths_from_gems
      import_images_and_fonts_from_gems

      # Setup Sprockets Sass options
      if app.config.defines_setting?(:sass)
        app.config[:sass].each { |k, v| ::Sprockets::Sass.options[k] = v }
      end

      # Intercept requests to /javascripts and /stylesheets and pass to sprockets
      our_sprockets = self.environment

      # # PATCH: Run Sprockets on any `scripts/styles` directory in `source`
      paths = [app.config[:js_dir], app.config[:css_dir], app.config[:images_dir], app.config[:fonts_dir]]
      extended_paths = Dir.glob("#{app.source}/**/*.{scss,js}")
        .map { |p| Pathname.new(p).dirname.to_s }
        .map { |p| p.sub("#{app.source}/", '') }
        .select{|p| p.match /styles|scripts$/ }
        .reject{|p| p.match /assets|glyptotheque/ }

      (paths + extended_paths).uniq.each do |dir|
        our_sprockets.append_path(dir)
        app.map("/#{dir}") { run our_sprockets }
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
middleman-sculptor-0.25.2 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.25.1 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.25 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.24 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.23 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.22 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.21 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.20 lib/middleman-sculptor/sprockets_patch.rb
middleman-sculptor-0.19 lib/middleman-sculptor/sprockets_patch.rb