2013-11-13 15:24:18 +00:00
# [jQuery UI](http://jqueryui.com/) - Interactions and Widgets for the web
2010-03-21 19:43:10 +00:00
2013-07-30 10:41:35 +00:00
jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of jQuery. Whether you're building highly interactive web applications, or you just need to add a date picker to a form control, jQuery UI is the perfect choice.
2010-03-21 19:43:10 +00:00
2013-07-30 10:41:35 +00:00
If you want to use jQuery UI, go to [jqueryui.com ](http://jqueryui.com ) to get started, [jqueryui.com/demos/ ](http://jqueryui.com/demos/ ) for demos, [api.jqueryui.com ](http://api.jqueryui.com/ ) for API documentation, or the [Using jQuery UI Forum ](http://forum.jquery.com/using-jquery-ui ) for discussions and questions.
2010-03-21 19:43:10 +00:00
2013-11-13 15:24:18 +00:00
If you want to report a bug/issue, please visit [bugs.jqueryui.com ](http://bugs.jqueryui.com ).
2012-05-15 18:12:50 +00:00
If you are interested in helping develop jQuery UI, you are in the right place.
2013-07-30 10:41:35 +00:00
To discuss development with team members and the community, visit the [Developing jQuery UI Forum ](http://forum.jquery.com/developing-jquery-ui ) or [#jqueryui-dev on irc.freenode.net ](http://irc.jquery.org/ ).
2012-05-15 18:12:50 +00:00
2011-05-09 19:42:44 +00:00
2013-11-13 15:24:18 +00:00
## For contributors
2012-05-16 13:27:26 +00:00
2011-07-16 01:00:37 +00:00
If you want to help and provide a patch for a bugfix or new feature, please take
2012-05-15 18:12:50 +00:00
a few minutes and look at [our Getting Involved guide ](http://wiki.jqueryui.com/w/page/35263114/Getting-Involved ).
In particular check out the [Coding standards ](http://wiki.jqueryui.com/w/page/12137737/Coding-standards )
2011-07-16 01:00:37 +00:00
and [Commit Message Style Guide ](http://wiki.jqueryui.com/w/page/25941597/Commit-Message-Style-Guide ).
In general, fork the project, create a branch for a specific change and send a
pull request for that branch. Don't mix unrelated changes. You can use the commit
message as the description for the pull request.
2013-11-13 15:24:18 +00:00
## Running the Unit Tests
2012-05-16 13:23:40 +00:00
Run the unit tests with a local server that supports PHP. No database is required. Pre-configured php local servers are available for Windows and Mac. Here are some options:
- Windows: [WAMP download ](http://www.wampserver.com/en/ )
- Mac: [MAMP download ](http://www.mamp.info/en/index.html )
- Linux: [Setting up LAMP ](https://www.linux.com/learn/tutorials/288158-easy-lamp-server-installation )
- [Mongoose (most platforms) ](http://code.google.com/p/mongoose/ )
2013-11-13 15:24:18 +00:00
## Building jQuery UI
2012-05-16 13:23:40 +00:00
2013-08-27 17:00:56 +00:00
jQuery UI uses the [Grunt ](http://github.com/gruntjs/grunt ) build system.
2012-05-16 13:23:40 +00:00
2013-08-27 17:00:56 +00:00
To build jQuery UI, you must have [node.js ](http://nodejs.org/ ) installed and then run the following commands:
2012-05-21 12:39:44 +00:00
2013-08-27 17:00:56 +00:00
```sh
2012-05-21 12:39:44 +00:00
2013-08-27 17:00:56 +00:00
# Install the Grunt CLI
npm install -g grunt-cli
2012-05-16 13:23:40 +00:00
2013-08-27 17:00:56 +00:00
# Clone the jQuery UI git repo
git clone git://github.com/jquery/jquery-ui.git
cd jquery-ui
2012-05-21 12:39:44 +00:00
2013-08-27 17:00:56 +00:00
# Install the node module dependencies
npm install
2012-05-16 13:23:40 +00:00
2013-08-27 17:00:56 +00:00
# Run the build task
grunt build
2012-05-16 13:23:40 +00:00
2013-08-27 17:00:56 +00:00
# There are many other tasks that can be run through Grunt.
# For a list of all tasks:
grunt --help
```
2012-05-21 12:39:44 +00:00
2012-05-16 13:23:40 +00:00
2013-11-13 15:24:18 +00:00
## For committers
2012-05-16 13:27:26 +00:00
2011-05-09 19:42:44 +00:00
When looking at pull requests, first check for [proper commit messages ](http://wiki.jqueryui.com/w/page/12137724/Bug-Fixing-Guide ).
2012-05-15 18:12:50 +00:00
Do not merge pull requests directly through GitHub's interface.
2012-05-16 13:27:26 +00:00
Most pull requests are a single commit; cherry-picking will avoid creating a merge commit.
It's also common for contributors to make minor fixes in an additional one or two commits.
These should be squashed before landing in master.
**Make sure the author has a valid name and email address associated with the commit.**
2012-05-15 18:12:50 +00:00
Fetch the remote first:
git fetch [their-fork.git] [their-branch]
Then cherry-pick the commit(s):
2011-05-09 19:42:44 +00:00
2012-05-15 18:12:50 +00:00
git cherry-pick [sha-of-commit]
2011-05-09 19:42:44 +00:00
2012-05-15 18:12:50 +00:00
If you need to edit the commit message:
2011-05-09 19:42:44 +00:00
2011-05-24 14:43:44 +00:00
git cherry-pick -e [sha-of-commit]
2011-05-09 19:42:44 +00:00
2012-05-15 18:12:50 +00:00
If you need to edit the changes:
git cherry-pick -n [sha-of-commit]
# make changes
git commit --author="[author-name-and-email]"
2013-07-30 10:41:35 +00:00
If it should go to the stable branch, cherry-pick it to stable:
2011-05-09 19:42:44 +00:00
2011-05-24 14:43:44 +00:00
git checkout 1-8-stable
2012-05-15 18:12:50 +00:00
git cherry-pick -x [sha-of-commit-from-master]
*NOTE: Do not cherry-pick into 1-8-stable until you have pushed the commit from master upstream.*