Less
Source code of released version | Source code of development version
The Less package provides a compiler build plugin for the Meteor build tool. It
handles the compilation of *.less
files to CSS.
Changelog
4.0.0
- Updated less to 4.1.1
3.0.0
- Updated less to 3.11.1.
- Import files without ending as less files, according to less import rules.
- Add
javascriptEnabled
option to less, to be backwards compatible to previous version of this package.
Usage
If you want to use it in your app, just run:
meteor add less
If you want to use it for your package, add it in your package control file's
onUse
block:
1Package.onUse(function (api) { 2 ... 3 api.use('less'); 4 ... 5});
File types
There are two different types of files recognized by this package:
- Less sources (all
*.less
files that are not imports) - Less imports:
- files with the
import.less
extension:*.import.less
- files in an
imports
directory:**/imports/**/*.less
- marked as
isImport: true
in the package'spackage.js
file:api.addFiles('x.less', 'client', {isImport: true})
- files with the
The source files are compiled automatically. The imports are not loaded by themselves; you need to import them from one of the source files to use them.
The imports are intended to keep shared mixins and variables for your project, or to allow your package to provide several components which your package's users can opt into one by one.
Each compiled source file produces a separate CSS file. (The
standard-minifier-css
package merges them into one file afterwards.)
Importing
You can use the regular @import
syntax to import any Less files: sources or
imports.
Besides the usual way of importing files based on the relative path in the same package (or app), you can also import files from other packages or apps with the following syntax.
Importing styles from a different package:
@import "{my-package:pretty-buttons}/buttons/styles.import.less" .my-button { // use the styles imported from a package .pretty-button; }
Importing styles from the target app:
@import "{}/client/styles/imports/colors.less" .my-nav { // use a color from the app style pallete background-color: @primary-branding-color; }
Importing styles relative to the current package/app's root:
@import "/path/to/style.import.less";