Skip to content
This repository has been archived by the owner on Dec 21, 2021. It is now read-only.

liferay/alloy-ui

 
 

Repository files navigation

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.

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
  1. Install local dependencies:
npm install
  1. 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

Format

  • Format JavaScript source code:
grunt format

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

API Docs

  • Build docs locally:
grunt api-build
  • Build docs locally and deploy it to alloyui.com:
grunt api-deploy
  • Run docs locally and watch for any changes:
grunt api-watch

Discussion

Structure

The basic structure of the project is given in the following way:

  • build/ Contains AlloyUI and YUI generated files, once Yogi Alloy's 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.
  • .alloy.json Specifies all dependencies and some configurations.
  • .editorconfig Specifies the coding style for different editors/IDEs.
  • 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