Skip to content

jasonmit/broccoli-less-single

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

broccoli-less-single

The broccoli-less-single plugin compiles .less files with less.js.

This plugin is designed to compile a single, primary input file into a single output file, with a tree of @importd dependencies. This differs from broccoli-less, which compiles each .less file individually into a .css file and doesn't support @imports or a single output file depending on multiple inputs.

This code is based heavily on broccoli-sass

Installation

npm install --save-dev broccoli-less-single

Usage

var compileLess = require('broccoli-less-single');

var outputTree = compileLess(inputTrees, inputFile, outputFile, options)
  • inputTrees: An array of trees that act as the include paths for less. If you have a single tree, pass [tree].

  • inputFile: Relative path of the main .less file to compile. This file must exist in one of the inputTrees.

  • outputFile: Relative path of the output CSS file.

  • options: A hash of options for less.

Example

var appCss = compileLess(sourceTrees, 'myapp/app.less', 'assets/app.css')

@import-Example

/* file: sub.less */
h1 {
  font-size: 200em;
}

/* =================== */

/* file: app.less */
@import "sub.less";

html, body {
  margin: 20px;
}

Bootstrap-Example

A sample project using bootstrap and broccoli-less-single can be found here.

// Brocfile.js
var pickFiles   = require('broccoli-static-compiler');
var compileLess = require('broccoli-less-single');
var mergeTrees  = require('broccoli-merge-trees');

var app = pickFiles('app', {
	srcDir:  '/',
	destDir: '/'
});

var less = compileLess(app, 'styles/app.less', 'assets/app.css', {
	paths: ['.', 'bower_components/bootstrap/less']
})

module.exports = mergeTrees([app, less]);

About

Broccoli plugin for compiling .less files with n-to-one semantics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 88.8%
  • CSS 11.2%