Coder Social home page Coder Social logo

tenjessy / zepto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from madrobby/zepto

0.0 1.0 0.0 6.06 MB

Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API

Home Page: http://zeptojs.com

License: MIT License

zepto's Introduction

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.

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

$ rake
Original version: 40.423k
Minified: 18.776k
Minified and gzipped: 7.033k, compression factor 5.747

The resulting files are:

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

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

Zepto modules are individual files in the "src/" directory. You can also list the available modules by running rake modules.

module default description
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 on() & off()
detect Provides $.os and $.browser information
fx The animate() method
fx_methods Animated show, hide, toggle, and fade*() methods.
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.
data A full-blown data() method, capable of storing arbitrary objects in memory.
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
gesture Fires pinch gesture events on touch devices
stack Provides andSelf & end() chaining methods

Contributing

Get in touch:

  • IRC channel: #zepto on freenode.net
  • @zeptojs

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

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.

Detailed test information such as specific failures is logged to the JavaScript console of your browser.

It's possible to run automated tests from the command-line in headless Webkit with PhantomJS:

# install on Mac OS
$ brew install phantomjs

# run all tests
$ rake test

# run individual files
$ script/test test/selector.html

Code style guidelines

  • function name() { } for named functions
  • function(){ } for anonymous functions
  • No curly braces for single-line control flow statements such as if & friends
  • Don't write semicolons that are optional
  • Put a single semicolon before statements that start with ( or [ (see above article as for why it's needed)
  • Use long, descriptive variable and method names
  • Use blank lines to separate "paragraphs" of code for readability
  • Use comments to describe non-obvious code behavior

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.