Skip to content
This repository

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

README.md

AlloyUI

AlloyUI Robo Suit

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.

Browser Support

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 Chrome Firefox Opera Safari
IE 7+ ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔

Automated tasks

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

Setup

  1. 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, run gem update --system && gem install compass to install Compass and Sass.

  2. Install global dependencies:

    [sudo] npm install -g grunt-cli shifter yogi yuidocjs phantomjs grover istanbul
    
  3. Install local dependencies:

    npm install
    
  4. Initialize dependencies:

    grunt init
    

Build

  • 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

  • Watch and build for any changes:

    grunt watch
    
  • Watch and build for any single module changes:

    grunt watch --src src/aui-module-name
    

Create

  • Create a new module under src/ folder:

    grunt create --name aui-module-name
    

Format/Lint

  • Format JavaScript source code:

    grunt format
    
  • Lint JavaScript source code using JSHint.

    grunt lint
    

Release

  • 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
    

Test

  • Run unit tests:

    grunt test
    
  • Run code coverage:

    grunt test --coverage
    

API Docs

  • 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
    

Discussion

Structure

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.

Team

AlloyUI is maintained by these people and a bunch of awesome contributors.

Eduardo Lundgren Nate Cavanaugh Bruno Basto Iliyan Peychev Zeno Rocha
Eduardo Lundgren Nate Cavanaugh Bruno Basto Iliyan Peychev Zeno Rocha

License

BSB License (c) Liferay, Inc.

Something went wrong with that request. Please try again.