Less Framework Compass Plugin
=============================

This plugin adds Less Framework 4 to [Compass](http://compass-style.org/).

Less Framework was written by Joni Korpi. For more information, visit the
official site at [http:/lessframework.com/](http://lessframework.com/)


Less Framework 4
================

Less Framework 4 was a significant upgrade to the version that came before it.
As a result, this plugin is now **backwards incompatible** with earlier
versions.

If you need to use Less Framework 3, use version 0.8 of this plugin.


Installation
============

    gem install compass-less-plugin


Getting Started
===============

To create a Compass project using Less Framework, enter:

    compass create -r less my_project --using less

The above command will generate a directory named `my_project` populated with
the Compass project files. If you look in the project `src` directory, you will
find a `less.scss` file and a `partials` directory.

`less.scss` is the plugin bootstrap file, and imports all necessary support
files to use the framework. This file can also be used to configure some of the
plugin settings (see the `Framework Configuration Variables` section for more
details).

The `partials` directory contains files pre-populated with media queries for
the grid layouts defined by the Less Framework:

* `default` - 10 columns at 992px; for desktops, laptops, tablets in landscape
   orientation, and all old browsers
* `tablet` - 8 columns at 768px; for iPads and other tablets
* `mobile` - 3 columns at 320px; for iPhones, iPod Touches, and most other
   modern mobile devices
* `wide-mobile` - 5 columns at 480px; for large mobile devices, as well as
   iPhones and iPod Touches in landscape orientation
* `high-px-ratio` - Overrides styles for devices with a device-pixel-ratio of
   2+, such as the iPhone 4

A `partials/global` file is also provided to define global styles shared by all
layouts.


Global Reset
============

The global reset included with the Less Framework can be used by importing the
`less/reset` file.


The Grid
========

To calculate column widths, use the `column(n, [last])` mixin:

    #content {
      @include column(5);
    }

This will give an element a width of 436px with a 24px gutter to the right.

To avoid creating the right gutter (e.g. an element is the last column in a
row), set the `$last` parameter to `true`:

    #sidebar {
      @include column(3, true);
    }


Typography
==========

Less Framework 4 contains three typographic presets:

* `typography/16px` - Optimized for 1.5 line-height; good for fonts like
   Georgia
* `typography/17px` - Optimized for 1.4 line-height; good for fonts like
   Palatino
* `typography/18px` - Optimized for 1.33 line-height; good for fonts like Times

If one of the above presets are imported, the following CSS classes also become
available to help customize your text:

* `gigantic`
* `huge`
* `large`
* `bigger`
* `big`
* `small`


Framework Configuration Variables
=================================

The following variables are available to configure the plugin:

* `$less-grid-element` - The element to mix the grid definition into; defaults
   to `body`
* `$less-grid-padding` - Globally determines if the grid mixin should also
   include the default padding; defaults to `true`

Be sure to configure these variables before any `@import` calls are made,
otherwise the results may be inconsistent. Also, wrap any string variable
values with the `unquote` function, e.g.

    $less-grid-element: unquote("#container");


Mixins
======

* `grid($columns)` - Sets up a grid with given number of columns
* `grid-padding($columns)` - Imports the default padding for a grid with the
   given number of columns; can be used to specify which layouts will use the
   default grid padding as defined by the Less Framework
* `column($columns, $last)` - Sets the width of an element to span the number
   of given columns with a margin to the right; to disable the margin, set
   `$last` to `false`
* `selection-color($color)` - Sets the background color used for text selection


Special Thanks
==============

Thanks to Joni Korpi for providing the Less Framework to the community, and to
Samson Ootoovak for helping me test the version 1 beta.
