Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ZeptoJS/Zepto.js

The new home of Zepto.js. All future development and improvements will be wrangled here.
https://github.com/ZeptoJS/Zepto.js

addon front-end javascipt javascript jquery library minimalist-javascript-library mkd phantomjs toolkit utility zepto

Last synced: about 1 month ago
JSON representation

The new home of Zepto.js. All future development and improvements will be wrangled here.

Awesome Lists containing this project

README

        

# Zepto.js – a minimalist JavaScript library

Zepto is a minimalist JavaScript library for modern browsers with a
largely jQuery-compatible API. If you use jQuery, you already know how to use Zepto.

See [zeptojs.com][] for an extended introduction, downloads
and documentation.

Zepto.js is licensed under the terms of the MIT License.

Want to give us money or a tip? Don't.
Instead please donate to [charity: water](http://charitywater.org/).

## Building

[![Build Status](https://travis-ci.org/ZeptoJS/Zepto.js.svg?branch=master)](https://travis-ci.org/ZeptoJS/Zepto.js)

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 a minimum. That's when you need to check out Zepto's source code and use
the build commands. Alternatively you can use the web based [Zepto Builder](http://github.e-sites.nl/zeptobuilder/).

You will need Node.js installed on your system.

~~~ sh
$ npm install
$ npm run-script dist

# do a custom build
$ MODULES="zepto event data" npm run-script dist

# on Windows
c:\zepto> SET MODULES=zepto event data
c:\zepto> npm run-script dist
~~~

The resulting files are:

1. `dist/zepto.js`
2. `dist/zepto.min.js`

If you install CoffeeScript globally, you can run `make` directly:

~~~ sh
# one-time operation
$ npm install coffee-script --global

$ coffee make dist
$ MODULES="zepto event data ..." ./make dist

# on Windows
c:\zepto> SET MODULES=zepto event data
c:\zepto> coffee make dist
~~~

## Zepto modules

Zepto modules are individual files in the "src/" directory.

module default description


zepto

Core module; contains most methods


event

Event handling via on() & off()


ajax

XMLHttpRequest and JSONP functionality


form

Serialize & submit web forms


ie

Support for Internet Explorer 10+ on the desktop and Windows Phone 8


detect

Provides $.os and $.browser information


fx

The animate() method


fx_methods


Animated show, hide, toggle,
and fade*() methods.



assets


Experimental support for cleaning up iOS memory after removing
image elements from the DOM.



data


A full-blown data() method, capable of storing arbitrary
objects in memory.



deferred


Provides $.Deferred promises API.
Depends on the "callbacks" module.



callbacks


Provides $.Callbacks for use in "deferred" module.



selector


Experimental jQuery
CSS extensions
support for functionality such as $('div:first') and
el.is(':visible').



touch


Fires tap– and swipe–related events on touch devices. This works with both
`touch` (iOS, Android) and `pointer` events (Windows Phone).



gesture

Fires pinch gesture events on touch devices


stack

Provides andSelf & end() chaining methods


ios3


String.prototype.trim and Array.prototype.reduce methods
(if they are missing) for compatibility with iOS 3.x.

## Contributing

Please read our [contribution guidelines](https://github.com/madrobby/zepto/blob/master/CONTRIBUTING.md)
for information on how to contribute.

Get in touch:

* @[zeptojs](http://twitter.com/zeptojs)

### Write documentation

Zepto docs are written in Markdown and live in the ["gh-pages" branch][docs].
They are published on [zeptojs.com][].

You can use GitHub's web interface to make quick changes to documentation for
specific Zepto features
([example: ajaxSettings](https://github.com/madrobby/zepto/blob/gh-pages/ajax/_posts/1900-01-01-Z-ajaxSettings.md)).
This will submit a pull request to us that we can review.

### Report a bug

1. Check if the bug is already fixed in the master branch since the last release.
2. Check [existing issues][issues]. Open a new one, including exact browser &
platform information. For better formatting of your report, see
[GitHub-flavored Markdown][mkd].

### Running tests

You will need to install [PhantomJS][]. On OS X, that's easy:

~~~ sh
$ brew cask install phantomjs
~~~

To run the automated tests:

~~~ sh
$ npm test
~~~

To run a test server, which you can hit with your browsers and devices:

~~~ sh
$ npm start
~~~

Go to `http://your-ip-address:3000/` on your browser and follow the
instructions. For your convenience test failures and exceptions will be
reported to the the console you started the test server in (as well as
the browser console if available).

[zeptojs.com]: http://zeptojs.com
[issues]: https://github.com/madrobby/zepto/issues
[docs]: https://github.com/madrobby/zepto/tree/gh-pages#readme
[mkd]: https://help.github.com/articles/creating-and-highlighting-code-blocks/
[evidence.js]: https://github.com/tobie/Evidence
[phantomjs]: http://phantomjs.org/download.html