Programming in CoffeeScript
This repository contains all of the source code for the book, Programming in CoffeeScript. As I write the book this repository will be updated with any changes, additions, subtractions, etc... that come along.
The book can currently be ordered as a Rough Cut through Safari:
It can also be pre-ordered on Amazon.com:
Table of Contents
This README file will also always contain the latest and most up to date Table of Contents for the book.
Dedication Preface Acknowledgements About The Author Part 1: Core CoffeeScript Chapter 1: Getting Started The CoffeeScript REPL In-Browser Compilation Command Line Compilation The CoffeeScript CLI Chapter 2: The Basics Syntax Scope and Variables String Interpolation, Heredocs, and Comments Extended Regular Expressions Chapter 3: Control Structures Operators and Aliases If/Unless Switch/Case Statements Chapter 4: Functions and Arguments Function Basics Arguments Default Arguments Splats... Chapter 5: Collections and Iterations Arrays Ranges Objects/Hashes Loops and Iteration Comprehensions The `do` Keyword Chapter 6: Classes Defining Classes Defining Functions The `constructor` function Scope in Classes Extending Classes Class-level Functions Prototype Functions Binding (-> vs. =>) Part 2: CoffeeScript in Practice Chapter 7: Cake and Cakefiles Getting Started Creating Cake Tasks Running Cake Tasks Using Options Invoking Other Tasks Chapter 8: Testing with Jasmine Installing Jasmine Setting up Jasmine Introduction to Jasmine Unit Testing Before and After Custom Matchers Chapter 9: Intro to Node.js What is Node.js? Installing Node Getting Started Streaming Responses Building a CoffeeScript Server Trying Out the Server Chapter 10: Example: Todo List Part 1 (Server-side) Installing and Setting up Express Setting up MongoDB using Mongoose Writing the Todo API Querying with Mongoose Chapter 11: Example: Todo List Part 2 (Client-side w/ jQuery) Priming the HTML with Twitter Bootstrap Interacting with jQuery Hooking up the New Todo Form Cleaning up the Todo List with Underscore.js Templates Listing Existing Todos Updating Todos Deleting Todos Chapter 12: Example: Todo List Part 3 (Client-side w/ Backbone.js) What is Backbone.js? Setting up Backbone.js Writing our Todo Model and Collection Listing Todos using a View Creating New Todos A View Per Todo Updating and Validating Models from Views Deleting Models from Views