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
这是什么?Zepto.js 是一个面向现代浏览器的极简 JavaScript 库,其 API 基本兼容 jQuery,因此如果你已经熟悉 jQuery,就能很快上手 DOM 操作、事件处理和 Ajax。
它是完整的框架还是一个小型库?它是一个轻量级库,而不是框架:由一组模块化的 JS 文件组成,在页面中引入即可使用。与 jQuery 相比,它的主要目标是让文件体积更小。
我要怎样把它加入项目?从 zeptojs.com 下载默认发行版即可快速开始;也可以克隆源代码,使用基于 Node 的构建命令,按需选择模块,生成 dist/zepto.js 和 dist/zepto.min.js。
使用它需要安装 Node.js 吗?只有在需要从源码构建自定义版本时才需要。从 zeptojs.com 下载的预构建版本无需任何额外环境;但构建时需要 Node.js,如果想直接运行 make,还需要 CoffeeScript。
默认包含哪些模块,哪些不包含?默认包含 core、event、ajax、form 和 ie;fx、touch、gesture、selector、deferred、data、assets、ios3 等可选模块需要时必须手动添加,这样可以让默认构建保持较小的体积。
它也适用于移动端浏览器吗?适用。多个模块专门针对移动端:touch 和 gesture 事件既适用于 iOS/Android 等触摸设备,也适用于 Windows Phone 上的指针事件;assets 模块则用于清理 iOS 内存。
我能自己运行 Zepto 的测试套件吗?可以,需要先安装 PhantomJS,然后既可以运行自动化测试,也可以启动本地测试服务器,用自己的浏览器和设备进行访问测试。
从 jQuery 迁移到 Zepto 需要重写代码吗?基本不需要。由于 Zepto 的 API 与 jQuery 高度一致,为 jQuery 编写的代码在 Zepto 中大多可以以相同的方式运行。
为什么 README 请人不要向项目捐款?维护者明确希望大家不要给他们打赏,而是将善款捐给慈善组织 'charity: water'。
IE 的支持是如何处理的?有一个专门的 'ie' 模块,默认包含在内,用于支持桌面端 Internet Explorer 10 及以上版本,以及 Windows Phone 8。
Creator
madrobby
Size
8.1 MB
Stars
15.1K
Age
16y
Commits · 90 Days