1
0
mirror of https://github.com/mrclay/minify.git synced 2025-02-22 16:04:08 +01:00

WARNING!

SVN contains early work on version 2 of Minify and should be considered
"alpha" quality. For production-tested code, please choose an 
earlier release from: http://code.google.com/p/minify/downloads/list 

The documentation at http://code.google.com/p/minify/ applies to those 
releases.

SETUP 

Minify is a library of files inside the "lib" directory. Wherever you 
place "lib", it needs to be in your include_path, and should be 
access-protected or outside of DOCUMENT_ROOT. 

TESTING 

1. Place the "web" directory somewhere in DOCUMENT_ROOT. 

2. Edit "config.php" to manually add "lib" to the include_path.

3. To enable server-side caching, set $minifyCachePath to a PHP-writeable directory

4. Visit http://yourdomain.com/path/to/web/examples/1/
   This page should contain 3 "PASS"es. It may take a few seconds to minify jQuery!

5. Call each "test_*.php" file in http://yourdomain.com/path/to/web/test/
   Each test should "PASS", except test_Minify.php. This script should output a 
   single minified Javascript file sent as "application/x-javascript".

MINIFY OVERVIEW 

Minify is an HTTP content server. It compresses sources of content 
(usually files), combines the result and serves it with appropriate 
HTTP headers. These headers can usually allow clients to perform 
conditional GETs (serving content only when clients do not have a valid 
cache) or tell clients to cache the file until a given date/time. 

Minify works with Minify_Source objects. These usually represent a file 
on disk, but a source can also be content on hand or from a database. 
Sources with known "last modified" timestamps allow Minify to implement 
conditional GETs. 

You configure Minify via a Minify_Controller object. The controller 
supplies the sources and some other information about a request, 
determining how it's to be responded to. Several controllers are 
supplied with Minify, but it's also fairly easy to write your own. E.g. 
a controller could emulate v1.x of minify.php. 

To use an existing controller, you call Minify::serve(), passing it the 
name of your controller of choice (without the "Minify_Controller" 
prefix), an array of options for the controller, and an array of general 
Minify options (optional). Eg.: 

// serve a minified javascript file and tell clients to cache it for a 
// year 
Minify::serve(
    'Files'
    ,array('/path/to/file1.js', '/path/to/file2.js')
    ,array('setExpires' => (time() + 86400 * 365))
); 

The above creates an instance of Minify_Controller_Files, passing the 
two arrays to its constructor. 

The first array depends on the controller. In this case, 
Minify_Controller_Files needs a list of file paths. 

The second array (optional) has options for Minify. (Since this is 
passed through the controller, some controllers may use/alter this 
data). 

MINIFY USAGE 

Example 1 shows an example of using Minify to serve both the HTML and 
external CSS and JS files. 
Description
No description provided
Readme 3.1 MiB
Languages
PHP 78.2%
CSS 11.2%
JavaScript 7%
HTML 3.1%
Less 0.3%
Other 0.2%