zepto README

The project's README from github.com/madrobby/zepto. As one markdown file: README.md.

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.

Building

Build Status

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.

You will need Node.js installed on your system.

$ 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:

# 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 for information on how to contribute.

Get in touch:

Write documentation

Zepto docs are written in Markdown and live in the "gh-pages" branch. 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). 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. Open a new one, including exact browser & platform information. For better formatting of your report, see GitHub-flavored Markdown.

Running tests

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

$ brew install phantomjs

To run the automated tests:

$ npm test

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

$ 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).

zepto (madrobby/zepto)

Searching Database…

15.1K ·GitHub
What is this?Zepto.js is a minimalist JavaScript library for modern browsers that offers a largely jQuery-compatible API, so DOM manipulation, events, and Ajax feel familiar if you already know jQuery.
Is it a full framework or just a small library?It is a lightweight library, not a framework: a modular set of JS files you include in a page, focused on keeping file size small compared to jQuery.
How do I add it to a project?Download the default distribution from zeptojs.com to get started quickly, or clone the source and use the Node-based build commands to produce dist/zepto.js and dist/zepto.min.js with a custom set of modules.
Do I need Node.js to use it?Only if you want to build a custom version from source; the prebuilt download from zeptojs.com requires nothing extra, but building needs Node.js (and CoffeeScript if you want to run make directly).
Which modules are included by default and which aren't?Core, event, ajax, form, and ie are included by default; optional modules like fx, touch, gesture, selector, deferred, data, assets, and ios3 must be added manually if you need them, which keeps the default build small.
Does it work on mobile browsers too?Yes, several modules specifically target mobile: touch and gesture events work on both touch devices like iOS/Android and pointer events on Windows Phone, and the assets module targets cleaning up iOS memory.
Can I run Zepto's test suite myself?Yes, you need PhantomJS installed, then you can run the automated tests or start a local test server and hit it with your own browsers and devices.
Does switching from jQuery to Zepto require rewriting my code?Mostly no — since Zepto mirrors jQuery's API closely, code written for jQuery largely works the same way with Zepto.
Why does the README ask me not to donate money to the project?The maintainers explicitly ask people to skip tipping them and instead donate to the charity 'charity: water'.
How is IE support handled?There's a dedicated 'ie' module, included by default, that adds support for Internet Explorer 10+ on desktop and Windows Phone 8.
Creator
madrobby
Size
8.1 MB
Stars
15.1K
Age
16y
Commits · 90 Days