See zeptojs.com for an extended introduction, downloads and documentation.
Zepto.js is licensed under the terms of the MIT License.
The official site offers a download of the default distribution of Zepto. This is good for starting out. However, at some point you might want to add some optional modules and remove some of the default ones you don't need, to keep the size at minimum. That's when you need to check out Zepto's source code and use the build commands.
You will need ruby, RubyGems, and rake installed on your system.
# dependencies: $ ruby -v $ gem -v $ rake -V # required to generate the minified version: $ gem install uglifier
Build Zepto by running
$ rake Original version: 40.423k Minified: 18.776k Minified and gzipped: 7.033k, compression factor 5.747
The resulting files are:
To include optional modules and remove default ones, use the
concat task. In
this example, "fx" is removed, but "data" and "selector" are added:
$ rake concat[-fx:data:selector] dist
Zsh users may need to prepend
noglob before that command because of special
meaning of square brackets in the shell.
Zepto modules are individual files in the "src/" directory. You can also list
the available modules by running
|polyfill||✔||Provides String.prototype.trim and Array.prototype.reduce methods if they are missing (required for iOS 3.x)|
|zepto||✔||Core module; contains most methods|
|event||✔||Event handling via
|ajax||✔||XMLHttpRequest and JSONP functionality|
|form||✔||Serialize & submit web forms|
|assets||Experimental support for cleaning up iOS memory after removing image elements from the DOM.|
CSS extensions support for functionality such as
|touch||Fires tap– and swipe–related events on touch devices|
|gesture||Fires pinch gesture events on touch devices|
Get in touch:
- IRC channel: #zepto on freenode.net
You can use GitHub's web interface to make quick changes to documentation for specific Zepto features (example: ajaxSettings). This will submit a pull request to us that we can review.
Report a bug
- Check if the bug is already fixed in the master branch since the last release.
- Check existing issues. Open a new one, including exact browser & platform information. For better formatting of your report, see GitHub-flavored Markdown.
# run all tests $ script/test # test individual files $ script/test test/zepto.html
You will need node and PhantomJS:
# install on Mac OS $ brew install node phantomjs # install test prerequisites $ npm install
Zepto test suite is in "test/*.html" files. Open the individual files in a web browser to run the tests. Files named with "_functional" are not automated tests, but require interaction. Automated tests are written using Evidence.js.
Ajax tests require a running test server. This is handled automatically through
script/test. Alternatively, you can start the server manually:
$ node test/server.js [PORT] # Now you can open http://localhost:3000/test/ajax.html in the browser. # Terminate the test server with Ctrl-C