Create a jQuery Plugin
Problem
You’d like to create jQuery plugin using CoffeeScript
Solution
# Reference jQuery
$ = jQuery
# Adds plugin object to jQuery
$.fn.extend
# Change pluginName to your plugin's name.
pluginName: (options) ->
# Default settings
settings =
option1: true
option2: false
debug: false
# Merge default settings with options.
settings = $.extend settings, options
# Simple logger.
log = (msg) ->
console?.log msg if settings.debug
# _Insert magic here._
return @each ()->
log "Preparing magic show."
# You can use your settings in here now.
log "Option 1 value: #{settings.option1}"
Discussion
Here are a couple of examples of how to use your new plugin.
JavaScript
$("body").pluginName({
debug: true
});
CoffeeScript:
$("body").pluginName
debug: true