Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Module for Axiom Stack that can automatically create minified, concatentated copies of your client-side javascript and css.
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Slim is a module for Axiom Stack that can automatically create minified, concatenated copies of your client-side javascript and css. It takes care of which version to include in your page headers: you can switch back and forth between the minified copies and development copies with a single config option.

To Use

  1. Put slim in modules/slim under your Axiom root install.
  2. Add slim to your modules in your application's modules = slim
  3. In your application's init method, use slim.add to create named sets of static resources to be compressed. For example:

    slim.add('main', {prefix: '/apps/myapp/static/',
                      css: {src: ['main.css',
                            target: 'all.css'},
                      js: {src: ['jquery/jquery.js',
                           target: 'all.js'}

    At startup, /apps/myapp/static/main.css and /apps/myapp/static/section.css will be combined, minified and written to /apps/myapp/static/all.css. Same pattern for the js files.

  4. Where before you would add each js or css file into your page's head element, use slim.js and slim.css instead:
    <link tal:replace="slim.css('main')" />
    <script tal:replace="slim.js('main')" />
    If your has slim.compress = true, then those elements will be replaced with just the combined, minified copies. Otherwise, each of the individual files will be used.


  1. Add event to compress upon resource update.
  2. Resolve relative paths in compressed CSS.
Something went wrong with that request. Please try again.