140 lines
4.8 KiB
Plaintext
140 lines
4.8 KiB
Plaintext
|
==============================================================================
|
||
|
YUI Compressor
|
||
|
==============================================================================
|
||
|
|
||
|
NAME
|
||
|
|
||
|
YUI Compressor - The Yahoo! JavaScript and CSS Compressor
|
||
|
|
||
|
SYNOPSIS
|
||
|
|
||
|
Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]
|
||
|
|
||
|
Global Options
|
||
|
-h, --help Displays this information
|
||
|
--type <js|css> Specifies the type of the input file
|
||
|
--charset <charset> Read the input file using <charset>
|
||
|
--line-break <column> Insert a line break after the specified column number
|
||
|
-v, --verbose Display informational messages and warnings
|
||
|
-o <file> Place the output into <file>. Defaults to stdout.
|
||
|
|
||
|
JavaScript Options
|
||
|
--nomunge Minify only, do not obfuscate
|
||
|
--preserve-semi Preserve all semicolons
|
||
|
--disable-optimizations Disable all micro optimizations
|
||
|
|
||
|
DESCRIPTION
|
||
|
|
||
|
The YUI Compressor is a JavaScript compressor which, in addition to removing
|
||
|
comments and white-spaces, obfuscates local variables using the smallest
|
||
|
possible variable name. This obfuscation is safe, even when using constructs
|
||
|
such as 'eval' or 'with' (although the compression is not optimal is those
|
||
|
cases) Compared to jsmin, the average savings is around 20%.
|
||
|
|
||
|
The YUI Compressor is also able to safely compress CSS files. The decision
|
||
|
on which compressor is being used is made on the file extension (js or css)
|
||
|
|
||
|
GLOBAL OPTIONS
|
||
|
|
||
|
-h, --help
|
||
|
Prints help on how to use the YUI Compressor
|
||
|
|
||
|
--line-break
|
||
|
Some source control tools don't like files containing lines longer than,
|
||
|
say 8000 characters. The linebreak option is used in that case to split
|
||
|
long lines after a specific column. It can also be used to make the code
|
||
|
more readable, easier to debug (especially with the MS Script Debugger)
|
||
|
Specify 0 to get a line break after each semi-colon in JavaScript, and
|
||
|
after each rule in CSS.
|
||
|
|
||
|
--type js|css
|
||
|
The type of compressor (JavaScript or CSS) is chosen based on the
|
||
|
extension of the input file name (.js or .css) This option is required
|
||
|
if no input file has been specified. Otherwise, this option is only
|
||
|
required if the input file extension is neither 'js' nor 'css'.
|
||
|
|
||
|
--charset character-set
|
||
|
If a supported character set is specified, the YUI Compressor will use it
|
||
|
to read the input file. Otherwise, it will assume that the platform's
|
||
|
default character set is being used. The output file is encoded using
|
||
|
the same character set.
|
||
|
|
||
|
-o outfile
|
||
|
Place output in file outfile. If not specified, the YUI Compressor will
|
||
|
default to the standard output, which you can redirect to a file.
|
||
|
|
||
|
-v, --verbose
|
||
|
Display informational messages and warnings.
|
||
|
|
||
|
JAVASCRIPT ONLY OPTIONS
|
||
|
|
||
|
--nomunge
|
||
|
Minify only. Do not obfuscate local symbols.
|
||
|
|
||
|
--preserve-semi
|
||
|
Preserve unnecessary semicolons (such as right before a '}') This option
|
||
|
is useful when compressed code has to be run through JSLint (which is the
|
||
|
case of YUI for example)
|
||
|
|
||
|
--disable-optimizations
|
||
|
Disable all the built-in micro optimizations.
|
||
|
|
||
|
NOTES
|
||
|
|
||
|
+ If no input file is specified, it defaults to stdin.
|
||
|
|
||
|
+ The YUI Compressor requires Java version >= 1.4.
|
||
|
|
||
|
+ It is possible to prevent a local variable, nested function or function
|
||
|
argument from being obfuscated by using "hints". A hint is a string that
|
||
|
is located at the very beginning of a function body like so:
|
||
|
|
||
|
function fn (arg1, arg2, arg3) {
|
||
|
"arg2:nomunge, localVar:nomunge, nestedFn:nomunge";
|
||
|
|
||
|
...
|
||
|
var localVar;
|
||
|
...
|
||
|
|
||
|
function nestedFn () {
|
||
|
....
|
||
|
}
|
||
|
|
||
|
...
|
||
|
}
|
||
|
|
||
|
The hint itself disappears from the compressed file.
|
||
|
|
||
|
+ C-style comments starting with /*! are preserved. This is useful with
|
||
|
comments containing copyright/license information. For example:
|
||
|
|
||
|
/*!
|
||
|
* TERMS OF USE - EASING EQUATIONS
|
||
|
* Open source under the BSD License.
|
||
|
* Copyright 2001 Robert Penner All rights reserved.
|
||
|
*/
|
||
|
|
||
|
becomes:
|
||
|
|
||
|
/*
|
||
|
* TERMS OF USE - EASING EQUATIONS
|
||
|
* Open source under the BSD License.
|
||
|
* Copyright 2001 Robert Penner All rights reserved.
|
||
|
*/
|
||
|
|
||
|
AUTHOR
|
||
|
|
||
|
The YUI Compressor was written and is maintained by:
|
||
|
Julien Lecomte <jlecomte@yahoo-inc.com>
|
||
|
The CSS portion is a port of Isaac Schlueter's cssmin utility.
|
||
|
|
||
|
COPYRIGHT
|
||
|
|
||
|
Copyright (c) 2007-2009, Yahoo! Inc. All rights reserved.
|
||
|
|
||
|
LICENSE
|
||
|
|
||
|
All code specific to YUI Compressor is issued under a BSD license.
|
||
|
YUI Compressor extends and implements code from Mozilla's Rhino project.
|
||
|
Rhino is issued under the Mozilla Public License (MPL), and MPL applies
|
||
|
to the Rhino source and binaries that are distributed with YUI Compressor.
|