Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

guard/guard-less

Open more actions menu

Repository files navigation

Guard::Less

Gem Version Build Status Dependency Status Code Climate Test Coverage

A guard extension that compiles .less files to .css files when changed.

  • Compatible with Less ~> 2.3.
  • Tested against Ruby 2.0, 2.1, 2.2, Rubinius & JRuby (1.9 mode only).

Install

You will need to have Guard first.

Install the gem with:

gem install guard-less

Add an initial setup to your Guardfile with:

guard init less

Please note that you also have to install therubyracer (or therubyrhino when you are running JRuby).

Usage

Please read Guard usage doc.

Guardfile

less_options = {
  all_on_start: true,
  all_after_change: true,
  patterns: [/^.+\.less$/],
  output: 'public/stylesheets'
}

guard :less, less_options do
  less_options[:patterns].each { |pattern| watch(pattern) }
end

Please read Guard doc for more info about Guardfile DSL.

Options

all_after_change: [true|false]   # run on all files after any changed files
                                    # default: true

all_on_start: [true|false]       # run on all the files at startup
                                    # default: true

output: 'relative/path'          # base directory for output CSS files; if unset,
                                    # .css files are generated in the same directories
                                    # as their corresponding .less file
                                    # default: nil

import_paths: ['lib/styles']     # an array of additional load paths to pass to the
                                 # LESS parser, used when resolving `@import`
                                 # statements
                                 # default: [] (see below)

compress: true                   # minify output

yuicompress: true                # minify output using yui

patterns: []                     # array of patterns for matching watched/processed files

Output option

By default, .css files will be generated in the same directories as their corresponding .less files (partials beginning with _ are always excluded).

To customize the output location, pass the :output option as described above, and be sure to use a match group in the regular expression in your watch to capture nested structure that will be preserved, i.e.

less_options = {
  all_on_start: true,
  all_after_change: true,
  patterns: [/^app/stylesheets/(.+\.less)$/],
  output: 'public/stylesheets'
}

guard :less, less_options do
  less_options[:patterns].each { |pattern| watch(pattern) }
end

will result in app/stylesheets/forums/main.less producing CSS at public/stylesheets/forums/main.css.

Import paths option

As each .less file is parsed, the directory containing the file is automatically prepended to the import paths, so imports relative to your watched dirs like @import 'shared/_type-styles' should always work. You can supply additional paths with this option so that, for the ['lib/styles'] example, a file at lib/styles/reset.less could be imported without a qualified path as @import 'reset'.

Author

Brendan Erwin (@brendanjerwin, brendanjerwin.com)

Maintainer

Rémy Coutable

Contributors

https://github.com/guard/guard-less/graphs/contributors

About

Guard::Less automatically compiles less (like lessc --watch)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.