Skip to content

helpfulrobot/tardinha-silverstripe-lesscss

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LESS Module for SilverStripe CMS

Simple wrapper for lessphp to integrate LESS in SilverStripe.

Thanks

I snagged all the good bits from Less by Ralph Slooten!

Features

  • Uses lessphp
  • Includes flushing option (?flush=1) to regenerate CSS stylesheets (ie. force undetected less changes with @import)
  • Check all required *.css files for a *.less equivalent, so works transparently.

Requirements

  • SilverStripe 2 or 3
  • lessphp
  • Webserver read & write permissions to the directories containing the *.less files to write compiled css files

Installation

Composer

composer require tardinha/silverstripe-less

Install via composer, run dev/build

Usage

In your Template.ss you can refer to your less files either by name (eg: stylesheet.less) or stylesheet.css (the parser will check to see if there is a less file for all css files).

<% require css(themes/mytheme/css/stylesheet.less) %>

or in your Page Controller you could:

Method 1

class Page_Controller extends ContentController {

	public function init() {
		parent::init();
		if ( Director::isDev() ){
			Requirements::css($this->ThemeDir() . '/css/stylesheet1.less');
			Requirements::css($this->ThemeDir() . '/css/stylesheet2.less');
			Requirements::css($this->ThemeDir() . '/css/stylesheet3.less');
		} else {
			/* combined.less simply includes a merged list of the above stylesheets
			 * in the same order as above:
			 * @import "stylesheet1";
			 * @import "stylesheet2";
			 * @import "stylesheet3";
			*/
			Requirements::css($this->ThemeDir() . '/css/combined.less');
		}
	}

}

Method 2

class Page_Controller extends ContentController {

	public function init() {
		parent::init();
		/* The parser will find css/stylesheet[1-3].less files are parse those before combining */
		$css[] = $this->ThemeDir() . '/css/stylesheet1.css';
		$css[] = $this->ThemeDir() . '/css/stylesheet2.css';
		$css[] = $this->ThemeDir() . '/css/stylesheet3.css';
		Requirements::combine_files('combined.css', $css);
		Requirements::process_combined_files();
	}

}

About

Holding repo for a mash of Lesscss stuff I've assimilated...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%