Metadata-Version: 1.0
Name: zif.jsmin
Version: 0.2
Summary: WSGI middleware for javascript compression.
Home-page: http://zif.svn.sourceforge.net/viewvc/zif/zif.jsmin
Author: Jim Washington
Author-email: jwashin@users.sourceforge.net
License: BSD
Description: ****************
        zif.jsmin
        ****************
        
        See 'src/zif/jsmin/README.txt' for more information.
        
        
        Releases
        ********
        
        ================
        0.1 (2007/04/13)
        ================
        
        Initial release.
        
        
        Detailed Documentation
        **********************
        
        =========
        zif.jsmin
        =========
        
        This is a wsgi middleware application intended for use with paste.deploy,
        zope.paste, and zope3.
        
        It serves as a wsgi filter to "minimize" javascript for a zope3 application.
        
        *This can be slow.*  You probably do not want to run this in production unless
        you have (small) dynamically-generated scripts and css.  But it can be useful
        for generating minimized javascript or css for resources.  Those larger files
        can then be excluded from on-the-fly minimization.
        
        
        Dependencies
        ------------
        
        For zope3, jsmin requires Sidnei da Silva's zope.paste.
        
        zope.paste is available at http://svn.zope.org/zope.paste/trunk/
        
        ::
        
        cd [path.to.zope3.src.directory]/zope
        svn co http://svn.zope.org/zope.paste/trunk/ paste
        
        Instructions for zope.paste are at  http://awkly.org/
        
        zope.paste requires paste.deploy.  paste.deploy can be obtained from the cheese
        shop.  Presuming you have setuptools installed,
        
        ::
        
        sudo easy_install.py PasteDeploy
        
        This (zif.jsmin) package can be unzipped and installed anywhere on the Python path.
        
        
        Setup
        -----
        
        Follow Sidnei's instructions for setting up zope.paste.  It involves putting the
        usual zope.paste-configure.zcml file in [zope3 instance]/etc/site-packages.
        There is also a parameter to change in [zope3 instance]/etc/zope.conf.
        The new twist is a paste.ini file in [zope3 instance]/etc
        
        An example paste.ini file looks like:
        
        ::
        
        [pipeline:Paste.Main]
        pipeline = gzipper jsmin main
        
        [app:main]
        paste.app_factory = zope.paste.application:zope_publisher_app_factory
        
        [filter:gzipper]
        paste.filter_factory=gzipper.gzipper:filter_factory
        compress_level=6
        nocompress=jp gz zip
        tempfile=0
        
        [filter:jsmin]
        paste.filter_factory=jsmin.jsmin:filter_factory
        compress_level=safe
        compress_types=js css
        exclude=MochiKit
        
        Configuration
        
        The paste.ini file above shows examples of the configuration options for jsmin.
        
        - **compress_level** is the degree of minimization desired.  "safe" is often good
        enough; it mainly removes spaces.  "full" will additionally munge variable
        names in javascript to make a more compact (and even less readable) module.
        Default is "safe"
        
        - **compress_types** determines whether to compress javascript or css or both.
        For both, use "css js", which is the default.  For just one, specify "css" or
        "js"
        
        - **exclude** is for excluding large files that presumably are already compressed.
        You may exclude on several matches; just put a space between them.  The module
        looks for consecutive characters in the url, and is case-sensitive.  "K" would
        exclude MochiKit.js or any file with "K" in its name.  "big_scripts" would
        exclude any file in the big_scripts url/folder.
        
        
        Download
        **********************
        
Keywords: jsmin wsgi middleware zope3
Platform: UNKNOWN
