alloy-ui

AlloyUI

Usage no npm install needed!

<script type="module">
  import alloyUi from 'https://cdn.skypack.dev/alloy-ui';
</script>

README

AlloyUI

AlloyUI Robo Suit

AlloyUI is a framework built on top of YUI3 (JavaScript) that uses Bootstrap 3 (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 8+ ✔ Latest ✔ Latest ✔ Latest ✔ Latest ✔

Automated tasks

We use Gulp, a task-runner in Node, to automate things.

gulp <command>

To discover the most commonly used tasks, run:

gulp help

Setup

  1. Install NodeJS <= v0.12.0, if you don't have it yet.

  2. Install global dependencies:

[sudo] npm install -g gulp
  1. Install local dependencies:
npm install
  1. Initialize and fetch dependencies via Bower:
gulp init
  1. Build AlloyUI & YUI3 using Shifter:
gulp build

Development

Rebuild AUI components:

gulp build-aui

If run at the root level, it will build all AUI components.

If run within a component folder (ie. cd src/aui-datatable), it will only build that specific component.

Watch for changes and rebuild automatically:

gulp watch

Discussion

Structure

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

  • bower_components/ Contains all dependencies fetched via Bower. However, this directory is unnecessary for versioning, so it is ignored (.gitignore).
  • 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 Gulp 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 Liferay's Frontend Infrastructure team and a bunch of awesome contributors.

Liferay Frontend Infrastructure Team
Liferay Frontend Infrastructure Team

History

Discover all versions in the Releases page.

Each module (located under src/) contains a HISTORY.md file, check them for detailed changelog.

License

BSD-3-Clause License (c) Liferay, Inc.