Sha256: 3c4f461ef1570100a4c6846a8266c08fb21f7b0e041154d1bba3191a79f67a77

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

require "sprockets"
  
module Middleman::CoreExtensions::Sprockets
  class << self
    def registered(app)
      app.set :js_compressor, false

      app.after_configuration do
        app.map "/#{app.js_dir}" do
          run JavascriptEnvironment.new(app)
        end
      end
      
      # app.map "/#{app.css_dir}" do
      #   run StylesheetEnvironment.new(app)
      # end
    end
    alias :included :registered
  end

  class MiddlemanEnvironment < ::Sprockets::Environment
    def initialize(app)
      full_path = app.views
      full_path = File.join(app.root, app.views) unless app.views.include?(app.root)
      
      super File.expand_path(full_path)
    end
  end
    
  class JavascriptEnvironment < MiddlemanEnvironment
    def initialize(app)
      super

      # Disable css
      unregister_processor "text/css", ::Sprockets::DirectiveProcessor
      
      self.js_compressor = app.settings.js_compressor

      # configure search paths
      append_path app.js_dir
      
      # jQuery for Sprockets
      # begin
      #   require "jquery-rails"
      #   jquery-rails / vendor / assets / javascripts
      # rescue LoadError
      # end
    end
  end
  
  # class StylesheetEnvironment < MiddlemanEnvironment
  #   def initialize(app)
  #     super
  # 
  #     # Disable js
  #     unregister_processor "application/javascript", ::Sprockets::DirectiveProcessor
  # 
  #     # configure search paths
  #     stylesheets_path = File.join(File.expand_path(app.views), app.css_dir)
  #     append_path stylesheets_path
  #   end
  # end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
middleman-2.0.0.2 lib/middleman/core_extensions/sprockets.rb
middleman-2.0.0.1 lib/middleman/core_extensions/sprockets.rb