dev-master
9999999-devAllows you to add CoffeeScript, SCSS, and LESS as standard requirements and automatically compiles on page load.
BSD-3-Clause
The Requires
by Uncle Cheese
silverstripe less sass scss coffeescript preprocessor meta-languages
Wallogit.com
2017 © Pedro Peláez
Allows you to add CoffeeScript, SCSS, and LESS as standard requirements and automatically compiles on page load.
This module allows the direct inclusion of uncompiled meta-language dependencies such as CoffeeScript, LESS, and SASS into your project and compiles them at runtime., (*1)
Just require the dependency in your controller, and use it just like Requirements., (*2)
<?php
MetaLanguages::require_scss('themes/my-theme/css/sass/my-sass.scss');
MetaLanguages::require_coffeescript('mysite/javascript/coffee/my-coffee.coffee');
By default, files are only compiled in "test" and "dev" environments. To limit compiling to specific environments:, (*3)
<?php MetaLanguages::set_compile_environments(array( 'dev', 'localhost:8888', 'staging.example.com' ));
By default, CoffeeScript compiles to project-dir/javascript, and SASS/LESS compiles to themes/my-theme/css, but those paths can be overridden., (*4)
Requirement_coffeescript: compiled_path: mysite/coffee Requirement_scss: compiled_path: mysite/sass
The /usr/local/bin path is forced into the shell environment by default, but if you need more control over it:, (*5)
Requirement_coffeescript: coffee_exec: /my/path/to/coffee
Compiling doesn't happen unless the "last edited" time difference between the raw and uncompiled file is greater than a specific number of seconds (defaults to 5), (*6)
MetaLanguages: modification_tolerance: 10;
Compiling SASS is exceedingly difficult from within PHP because it is a Ruby gem, so environmental issues are numerous. This module uses a thirdparty PHP compiler for SASS, which is known to have some bugs., (*7)
Allows you to add CoffeeScript, SCSS, and LESS as standard requirements and automatically compiles on page load.
BSD-3-Clause
silverstripe less sass scss coffeescript preprocessor meta-languages