This is a fork of leafo/lessphp. The original library seems to be abandoned, however we are using it in Joomla 3 and need to make it compatible with the PHP versions we are supporting.
We are only going to maintain this library until the EOL of Joomla 3! We also don't guarantee any bug fixes or new features.
Following you can read the original project description:
lessphp
is a compiler for LESS written in PHP. The documentation is great,
so check it out: http://leafo.net/lessphp/docs/.
Here's a quick tutorial:
The only file required is lessc.inc.php
, so copy that to your include directory.
The typical flow of lessphp is to create a new instance of lessc
,
configure it how you like, then tell it to compile something using one built in
compile methods.
The compile
method compiles a string of LESS code to CSS.
<?php
require "lessc.inc.php";
$less = new lessc;
echo $less->compile(".block { padding: 3 + 4px }");
The compileFile
method reads and compiles a file. It will either return the
result or write it to the path specified by an optional second argument.
<?php
echo $less->compileFile("input.less");
The checkedCompile
method is like compileFile
, but it only compiles if the output
file doesn't exist or it's older than the input file:
<?php
$less->checkedCompile("input.less", "output.css");
If there any problem compiling your code, an exception is thrown with a helpful message:
<?php
try {
$less->compile("invalid LESS } {");
} catch (exception $e) {
echo "fatal error: " . $e->getMessage();
}
The lessc
object can be configured through an assortment of instance methods.
Some possible configuration options include changing the output format,
setting variables from PHP, and controlling the preservation of
comments, writing custom functions and much more. It's all described
in the documentation.
An additional script has been included to use the compiler from the command line. In the simplest invocation, you specify an input file and the compiled css is written to standard out:
$ plessc input.less > output.css
Using the -r flag, you can specify LESS code directly as an argument or, if the argument is left off, from standard in:
$ plessc -r "my less code here"
Finally, by using the -w flag you can watch a specified input file and have it compile as needed to the output file:
$ plessc -w input-file output-file
Errors from watch mode are written to standard out.
The -f flag sets the output formatter. For example, to compress the output run this:
$ plessc -f=compressed myfile.less
For more help, run plessc --help