... because sometimes, all you need is a snack.
- ~3.4kb! (minified, gzipped)
- Use any selector engine. Ships with multiple builds (QSA, Qwery, Slick, Sizzle)
- Several element methods
- API to add more element methods
- Cross-browser DOMContentLoaded (domready)
- Cross-browser DOM events
- Event Delegation (with or without a selector engine)
- Publisher objects for application communication
- Cross-browser AJAX
- JSONP
- Shallow object merge with
snack.extend
- Prototypal inheritance with
Object.create
- A few other utilities (only those snack uses)
Snack is very well documented. In the repository is a docs folder.
Simply open docs/index.html
in your browser or visit the Snack Homepage.
Because Snack ships with several selector engines, there are submodules for each one. You'll need to first update them to build or test Snack:
From the root of the repository:
$ git submodule init
$ git submodule update
The tests require node >= 0.4.6, npm >= 1.0.0, and submodules to be updated (see above).
To run the tests, install dependencies and fire up the server (used for all the ajax stuff).
$ npm install .
$ node server.js
Build snack like so:
$ ./build
The tests do not require you to build snack.
- MooTools (c) Valerio Proietti, MIT license
- jQuery (c) John Resig, Dual license MIT or GPL Version 2
- Zepto (c) Thomas Fuchs, MIT License
- ContentLoaded (c) Diego Perini, MIT License
MIT Style license.
Copyright (c) Ryan Florence