/clay

A web implementation of the Lexicon Experience Language

Primary LanguageHTML

🏺 Clay · Build Status Coverage Status

Clay is Liferay's web implementation of Lexicon Experience Language. Built with Bootstrap as a foundation, it's comprised of HTML, CSS, and JS.

Packages

Clay repository follows the monorepo approach, all the major components that are the pillars of Clay are here in this repository.

The pillar to give colors and structure to Clay, where is the css and examples of HTML markups of the components.

All components that follow clay-css marking and Lexicon use cases, developed on Metal.js with Soy (Closure templates).

Contains the source code and documentation powering clayui.com.

Browser support

Internet Explorer 11 Google Chrome Last 2 Microsoft Edge Latest Mozilla Firefox Last 2 and 52 Opera Latest Safari Last 2 Chrome Android Safari iOS Latest

Documentation

You can find the Clay documentation on the site.

You can improve by sending pull requests to this repository.

Examples

We have several examples on the site. Here's the first one to get you started:

{call ClayButton.render}
    {param label: 'Primary' /}
    {param type: 'button' /}
{/call}

This example render a "Primary" button on the page, following Lexicon patterns.

You will notice that we use a Soy (Closure templates) template system that is built on top of Metal.js, but if you do not feel comfortable feel free to use WebComponents 😉.

<clay-button label="Primary" type="button"></clay-button>

It will do the same.

Each package contains a page with demos, check.

Installation

Clay is available as the clay package in npm for components and for css like clay-css. It is also available on a CDN for components and for css, check. But if you just want the separate components, it's also available in the npm as clay-.

See the Getting Started guide for more information.

Even if your application does not use the framework Metal.js Clay is flexible and can be used as WebComponents see some examples with:

Contributing

Feel free to open up problems or send pull requests. We will always be looking at these problems and we will be responding whenever possible.

Before opening a issue make sure it exists.

Good First Issues

If you want to contribute to this project and do not know where to start good first issues is a great place to start.

Setup

  1. Install NodeJS >= v6.11.0, if you don't have it yet.

  2. Install global dependencies:

[sudo] npm install -g yarn
  1. Install project dependencies:
yarn install
  1. Install dependencies for each package and link them together:
npm run lerna
  1. Build all packages
npm run build
  1. Start a local server on port 4000
npm run start
  1. Run tests:
npm run test

Important

Since travis is failing on executing a11y tests due to out of date suid you need to execute npm run a11y locally before sending any pr to verify we're following accessibility standars.

License

BSD License © Liferay, Inc.