How to use CoffeeScript with nanoc
Step 1: Add coffee-script to Gemflie:
gem 'coffee-script'
Step 2: Add coffee_filter.rb file to lib folder:
require 'coffee-script' class CoffeeFilter < Nanoc3::Filter identifier :coffee def run(content, params = {}) CoffeeScript.compile(content) end end
Step 3: Add new rules to Rules file for compiling coffee-script files into javascript files:
compile '/assets/coffee/*/' do filter :coffee end # so that the /assets/coffee/ item is copied to /javascripts/ item route '/assets/coffee/*/' do item.identifier.sub(%r{^/assets/coffee}, '/javascripts').chop + '.js' end
Step 4: Create your first coffescript file in content/assets/coffee directory:
# test.coffee notify -> alert "Hello, user!" notify()
Step 5: Compile your web site.
nanoc3 compile
Compiled javascript files should be located in javascrips folder.
If you want to use coffee-script inside your haml partials, include this gem into 'Gemfile':
gem 'coffee-filter'
And include this fragment into partial:
:coffeescript window.notify = () -> alert 'Hello, user!'
Click
here
to execute compiled javascript file from coffescript file on this page.