{ "name": "sumatra", "version": "0.0.0", "main": "./pkg/sumatra.js", "dependencies": { "jquery": "~1.9.1", "underscore": "~1.4.4", "bootstrap.css": "~2.1.1" }, "devDependencies": { "coffee-script": "~1.6.2" }, "ignore": [ "components/**", "test/**", "lib/**", "package.json", "index.html" ], "gitHead": "c7f52b1ad87c6d4c516eafc8307d8ecb5b132e9b", "readme": "# Sumatra\n\nSumatra is a CoffeeScript framework for writing jQuery plugins harder,\nbetter, faster, stronger.\n\nYou should use Sumatra if you...\n\n- Encapsulate complex jQuery plugins in a service object and call an\n instance of that service object for each DOM element the plugin\n selector is passed\n- Enjoy test-driven development, clear code, and convention over\n configuration\n- Believe unicorns are real\n\n## Why?\n\nA lot of jQuery plugins are written to encapsulate a simple bit of\nfunctionality used throughout the application. But jQuery's syntax was\ndesigned to improve the way people write JavaScript. CoffeeScript has a\nsimilar goal, but approaches it from a different angle, it compiles its\nsyntax into JavaScript but does so in a safe, syntactically correct and\n(mostly) readable way. This framework unites the two, and finally allows\njQuery developers to build plugins in CoffeeScript without making their\ncode look, well, downright ugly!\n\n## Installation\n\n### Requirements\n\n- jQuery\n- CoffeeScript if you want to develop it..\n\nWe recommend Bower for installing Sumatra as a component:\n\n```bash\n$ bower install sumatra\n```\n\nHowever, you can also install Sumatra manually by just including the\n`pkg/sumatra.js` file in your javascripts directory.\n\n## Usage\n\nSumatra values convention over configuration, and its usage revolves\naround an established pattern that hopefully others will find useful.\n\n### Defining a Basic Plugin\n\nAfter loading Sumatra, you can build jQuery plugins that are both clear\nand superbly terse:\n\n```coffeescript\nsumatra 'clickMe', ->\n class ClickMe extends SumatraPlugin\n action: 'click'\n perform: (event) =>\n element_id = @element.attr('id') || '