NAME

Jifty::Plugin::CompressedCSSandJS - Compression of CSS and javascript files

SYNOPSIS

# In your jifty config.yml under the framework section:

Plugins:
  - CompressedCSSandJS:
      js: 1
      css: 1
      jsmin: /path/to/jsmin
      skipped_js:
          - complex.js

DESCRIPTION

This plugin provides auto-compilation and on-wire compression of your application's CSS and Javascript. It is enabled by default, unless your ConfigFileVersion is greater or equal than 2.

It also supports js minifier, you will need to specify the full path. The jsmin can be obtained from http://www.crockford.com/javascript/jsmin.html.

Note that you will need to use ConfigFileVersion 2 to be able to configure jsmin feature.

skipped_js is a list of js that you don't want to compress for some reason.

init

Initializes the compression object. Takes a paramhash containing keys 'css' and 'js' which can be used to disable compression on files of that type.

js_enabled

Returns whether JS compression is enabled (which it is by default)

css_enabled

Returns whether CSS compression is enabled (which it is by default)

generate_css

Checks if the compressed CSS is generated, and if it isn't, generates and caches it. (In devel mode, it always regenerates it)

generate_javascript

Checks if the compressed JS is generated, and if it isn't, generates and caches it.

_generate_javascript_nocache

Generates compressed javascript, ignoring the cache completely.

minify_js \$js

Runs the given JS through jsmin

wrap

If a JS or CSS file references another by a relative path, it will most likely end up being mis-requested under the CAS directory. Catch those requests, warn about them, and re-dispatch them internally to what is likely the right place.