Files
edx-platform/templates/coffee
Prem Sichanugrist a0ecbca080 Make the accordian expand 'Week 1' by default
This fixes the regression from javascript rewrite.
2012-05-07 18:28:52 -04:00
..
2012-05-07 18:01:21 -04:00
2012-05-07 18:01:21 -04:00

CoffeeScript

This folder contains the CoffeeScript file that will be compiled to the static directory. By default, we're compile and merge all the files ending .coffee into static/js/application.js.

Install the Compiler

CoffeeScript compiler are written in JavaScript. You'll need to install Node and npm (Node Package Manager) to be able to install the CoffeeScript compiler.

Mac OS X

Install Node via Homebrew, then use npm:

brew install node
curl http://npmjs.org/install.sh | sh
npm install -g git://github.com/jashkenas/coffee-script.git

(Note that we're using the edge version of CoffeeScript for now, as there was some issue with directory watching in 1.3.1.)

Try to run coffee and make sure you get a coffee prompt.

Debian/Ubuntu

Conveniently, you can install Node via apt-get, then use npm:

sudo apt-get install nodejs npm &&
sudo npm install -g git://github.com/jashkenas/coffee-script.git

Compiling

Run this command in the mitx directory to easily make the compiler watch for changes in your file, and join the result into application.js:

coffee -j static/js/application.js -cw templates/coffee/src

Please note that the compiler will not be able to detect the file that get added after you've ran the command, so you'll need to restart the compiler if there's a new CoffeeScript file.

Testing

We're also using Jasmine to unit-testing the JavaScript files. All the specs are written in CoffeeScript for the consistency. Because of the limitation of django-jasmine plugin, we'll need to also running another compiler to compile the test file.

Using this command to compile the test files:

coffee -cw templates/coffee/spec/*.coffee

Then start the server in debug mode, navigate to http://127.0.0.1:8000/_jasmine to see the test result.