Sha256: 0676b412e9c1ebc32368ec4f3f971aedd439d1f70a544df4c1f60377cb8da21f

Contents?: true

Size: 998 Bytes

Versions: 3

Compression:

Stored size: 998 Bytes

Contents

# -*- encoding : utf-8 -*-
require 'coffee-script'
require 'uglifier'

require_dependency 'card/machine'
require_dependency 'card/machine_input'

include Machine
include MachineInput

def compile_coffee script
  ::CoffeeScript.compile script
rescue => e
  raise Card::Error, "CoffeeScript::Error (#{name}): #{e.message}"
end

machine_input do
  Uglifier.compile(compile_coffee format(:js)._render_raw)
end

store_machine_output filetype: 'js'

def clean_html?
  false
end

format do
  def chunk_list  # turn off autodetection of uri's
    :nest_only
  end
end

format :html do
  view :editor, mod: Html::HtmlFormat

  view :content_changes do |args|
    %(
      <pre>#{super(args)}</pre>
    )
  end

  view :core do |_args|
    js = card.compile_coffee _render_raw
    highlighted_js = ::CodeRay.scan(js, :js).div
    process_content highlighted_js
  end
end

format do
  view :core do |_args|
    process_content card.compile_coffee(_render_raw)
  end
end

def diff_args
  { format: :text }
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
card-1.18.6 mod/03_machines/set/type/coffee_script.rb
card-1.18.5 mod/03_machines/set/type/coffee_script.rb
card-1.18.4 mod/03_machines/set/type/coffee_script.rb