AlloyUI is a framework built on top of YUI3 (JavaScript) that uses Bootstrap (HTML/CSS) to provide a simple API for building high scalable applications.
As an user interface framework we do care about browser support. Most of our modules use all the power of HTML5, so for old browsers we provide fallbacks in Flash.
IE 7+ ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
Provides a set of util tasks to work with AlloyUI project.
To change any default option from a task check Gruntfile.js. You can also overwrite those options via command-line, for example:
grunt command --option value
-
Install NodeJS, if you don't have it yet.
Some tasks requires you to have Ruby, Sass, and Compass installed. If you're on OS X or Linux you probably already have Ruby installed; test with
ruby -v
in your terminal. When you've confirmed you have Ruby installed, rungem update --system && gem install compass
to install Compass and Sass. -
Install global dependencies:
[sudo] npm install -g grunt-cli shifter yogi yuidocjs phantomjs grover istanbul ```
-
Install local dependencies:
npm install ```
-
Initialize dependencies:
grunt init ```
-
Build YUI and AlloyUI:
grunt build ```
-
Build only YUI:
grunt build:yui ```
-
Build only AlloyUI:
grunt build:aui ```
-
Build single AlloyUI module:
grunt build:aui --src src/aui-module-name ```
-
Build and import Bootstrap's CSS:
grunt bootstrap ```
-
Build AlloyUI and import Bootstrap's CSS:
grunt all ```
-
Watch and build for any changes:
grunt watch ```
-
Watch and build for any single module changes:
grunt watch --src src/aui-module-name ```
-
Create a new module under
src/
folder:
grunt create ```
-
Format JavaScript source code:
grunt format ```
-
Lint JavaScript source code using JSHint.
grunt lint ```
-
Generate a zip file:
grunt zip ```
-
Build modules and generate a release zip file:
grunt release ```
-
Build modules optimized for CDN and generate a release zip file:
grunt release-cdn ```
-
Run unit tests:
grunt test ```
-
Run code coverage:
grunt test --coverage ```
-
Import code examples from alloyui.com and build docs locally:
grunt api ```
-
Run docs locally and watch for any changes:
grunt api-watch ```
-
Run
grunt api
and deploy it to alloyui.com:
grunt api-deploy ```
The basic structure of the project is given in the following way:
build/
Contains AlloyUI and YUI generated files, once build task has been run. However, this directory is unnecessary for versioning, so it is ignored (.gitignore).demos/
Contains basic examples of the AlloyUI modules.src/
Contains the source code of the AlloyUI modules.tasks/
Contains the source code of the Grunt tasks..alloy.json
Specifies all dependencies and some configurations..editorconfig
Specifies the coding style for different editors/IDEs..jsbeautifyrc
Specifies the coding format rules for JSBeautify..jshintrc
Specifies the linting configurations for JSHint..yeti.json
Specifies the testing configurations for Yeti.LICENSE.md
Defines the license agreement for AlloyUI.README.md
Explains the AlloyUI project.package.json
Lists all NodeJS dependencies.
AlloyUI is maintained by these people and a bunch of awesome contributors.
| | | | --- | --- | --- | --- | --- | --- | --- Eduardo Lundgren | Nate Cavanaugh | Bruno Basto | Iliyan Peychev | Zeno Rocha
BSB License (c) Liferay, Inc.