Sha256: c6d8391630f40a12c292347aaeebff1e13095448e71c9ddf6c32fb2da3c64c01

Contents?: true

Size: 1.11 KB

Versions: 43

Compression:

Stored size: 1.11 KB

Contents

# Require gem
require 'coffee_script'

module Middleman
  module Renderers
    # CoffeeScript Renderer
    class CoffeeScript < ::Middleman::Extension
      # Setup extension
      def initialize(app, options={}, &block)
        super

        # Tell Tilt to use it as well (for inline scss blocks)
        ::Tilt.register 'coffee', DebuggingCoffeeScriptTemplate
        ::Tilt.prefer(DebuggingCoffeeScriptTemplate)

        DebuggingCoffeeScriptTemplate.middleman_app = app
      end

      # A Template for Tilt which outputs debug messages
      class DebuggingCoffeeScriptTemplate < ::Tilt::CoffeeScriptTemplate
        # Make the current Middleman app accessible to the template
        cattr_accessor :middleman_app

        # Add exception messaging
        # @param [Class] context
        # @param [Hash] locals
        # @return [String]
        def evaluate(context, locals, &block)
          return super unless middleman_app.server?

          begin
            super
          rescue ::ExecJS::RuntimeError => e
            e.to_s
          rescue => e
            e.to_s
          end
        end
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 3 rubygems

Version Path
middleman-core-4.5.1 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.5.0 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.4.3 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.4.2 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.4.0 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.11 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.10 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.8 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.7 lib/middleman-core/renderers/coffee_script.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/middleman-core-4.3.3/lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.6 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.5 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.4 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.3 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.2 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.1 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.0 lib/middleman-core/renderers/coffee_script.rb
middleman-core-with-external-sources-watch-fix-4.1.10 lib/middleman-core/renderers/coffee_script.rb
middleman-core-with-external-sources-watch-fix-4.1.0 lib/middleman-core/renderers/coffee_script.rb
middleman-core-4.3.0.rc.1 lib/middleman-core/renderers/coffee_script.rb