nathancox / minify
Minifies CSS requirements using Minify (http://code.google.com/p/minify/)
Installs: 114 006
Dependents: 1
Suggesters: 0
Security: 0
Stars: 26
Watchers: 4
Forks: 9
Open Issues: 4
Type:silverstripe-module
Requires
- silverstripe/framework: ^3.1
- tubalmartin/cssmin: ~4.1
This package is not auto-updated.
Last update: 2024-12-24 05:27:17 UTC
README
This module replaces part of the Requirements system to compress CSS files using http://code.google.com/p/minify/. The idea and implementation are basically stolen from Tonyair (http://www.silverstripe.org/general-questions/show/14206)
Maintainer
Nathan Cox (nathan@flyingmonkey.co.nz)
Requirements
SilverStripe 3.1+ Check out the SS-3.0 branch for a version compatible with SS 3.0
Installation Instructions
- Place the files in a directory called "minify" in the root of your SilverStripe installation
- Visit yoursite.com/dev/build
Usage
The module will automatically replace the Requirements backend with a custom subclass, so you don't need to do anything differently.
Just use combine_files to include your CSS as normal:
<?php $themeFolder = $this->ThemeDir(); $files = array( $themeFolder . '/css/layout.css', $themeFolder . '/css/typography.css', $themeFolder . '/css/form.css' ); Requirements::combine_files("common.min.css", $files);
Your CSS files will automatically be minified when combining (like JavaScript is).
By default relative urls in the CSS files (eg background-image:url('../images/background.png');) will be rewritten so the combined CSS file can be kept in assets (eg to background-image:url('/themes/mytheme/images/background.png');) but you can turn this behaviour off by putting the following line in your _config.php:
<?php Config::inst()->update('Minify_Requirements_Backend', 'rewrite_uris', false);