# Getting started

### What is Flat UI?

Flat UI is a beautiful theme for Bootstrap. We have redesigned many of its components to look flat in every pixel.

For the most part, it is very simple to use, however, to be able to make some form elements and others look exactly how we want, we ended up using some JS plugins, which means it takes a little bit more effort to integrate them into your project.

### How to Use It?

Since Flat UI is built on top of Bootstrap as a theme, you can use it in your Bootstrap 3 project. We did not modify any line of Bootstrap, so you will be safe using Flat UI in your ongoing project (unless you hacked it yourself!) :)

We provide you with the CSS and the Less sources.

1. Using CSS is as easy as dropping `flat-ui.css` into your project folder and including it in your template/html page: `<link href="dist/css/flat-ui.css" rel="stylesheet">`
2. Use Less if you want to modify/extend Flat UI in your project. It is built just like Bootstrap, so you won't find a big difference.

The easiest way to start is to use our start-up template (from `/dist` folder) where all the files are already included and ready to use (The JS plugins are included, but not initialized. You will have to initialize them as needed).

### File Structure

Flat UI Free have the following structure:

    flat-ui/
    ├── dist/
    |   ├── css/
    |   |   ├── vendors/
    │   |   ├── flat-ui.css
    │   |   └── flat-ui.min.css
    |   ├── js/
    |   |   ├── vendors/
    │   |   ├── flat-ui.js
    │   |   └── flat-ui.min.js
    |   ├── fonts/
    |   |   ├── lato/
    |   |   └── glyphicons/
    |   |        ├── flat-ui-icons-regular.eot
    |   |        ├── flat-ui-icons-regular.svg
    |   |        ├── flat-ui-icons-regular.ttf
    |   |        ├── flat-ui-icons-regular.woff
    |   |        └── selection.json
    |   ├── img/
    |   └── index.html
    ├── docs/
    |   ├── examples/
    |   ├── components.html
    |   ├── getting-started.html
    |   └── template.html
    ├── fonts/
    ├── img/
    ├── js/
    └── less/
        ├── mixins/
        ├── modules/
        ├── flat-ui.less
        ├── mixins.less
        └── variables.less

Let's go through this list:

dist/ — the compiled Flat UI boilerplate template. If you like everything and you don't want to change the look of our components, it is better to use version. This is the easiest way to start using Flat UI.

— component examples and documentation.

fonts/ — local version of Lato and icon font. When integrating this into your project, make sure you copy all the font files correctly. You might want to change/add some glyphs. If so, open IcoMoon and import `selection.json`(at `fonts/glyphicons/`) there to make all glyphs editable.

js/ — we have tried hard to make all our components look truly "flat." In order to do so we have used some JS plugins. Most of them are well known, while some of them are not. The most JS-ified components are the form components (checkboxes, radios, switches, selects…), since it is not currently possible to style them identically in all browsers. Look at `docs/assets/js/application.js` for integration examples.

less/ — is where all our stylesheets are located (not preprocessed).

- `modules/` is where the components themselves are.
- `mixins/` useful utilities.
- `flat-ui.less` links everything into one single bundle.
- `mixins.less` helps automate things.
- `variables.less` is where all the default variables are.

### Dependencies

External dependencies are managed quickly and easily with Bower. Simply:

1. Add a dependency to `bower.json`.
2. Run `bower install`.
3. Add references within your HTML, and you are all set.

Note: If required, run `npm install -g bower` first to install bower.

Development is quick and easy thanks to Grunt. Simply:

- Run `grunt` to build the project with your updates included, or
- Run `grunt server` to build the project, watch for changes, and provide a local server with source maps and live reload as you hack away.

Note: If required, run `npm install` first to install grunt with grunt packages.