src/cm/scripts/lib/yuicompressor-2.4.2/doc/README
author gibus
Wed, 11 Sep 2013 23:13:01 +0200
changeset 532 0bad3613f59d
parent 0 40c8f766c9b8
permissions -rw-r--r--
Reverse to YUI 3.0.0 since with YUI.3.10.3, comment content including words 'paragraph' or 'section' do not show up on Firefox, this is weird and has to be investigated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
==============================================================================
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
YUI Compressor
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
==============================================================================
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
NAME
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
  YUI Compressor - The Yahoo! JavaScript and CSS Compressor
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
SYNOPSIS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
  Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
  Global Options
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
    -h, --help                Displays this information
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
    --type <js|css>           Specifies the type of the input file
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
    --charset <charset>       Read the input file using <charset>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
    --line-break <column>     Insert a line break after the specified column number
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
    -v, --verbose             Display informational messages and warnings
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
    -o <file>                 Place the output into <file>. Defaults to stdout.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
  JavaScript Options
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
    --nomunge                 Minify only, do not obfuscate
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
    --preserve-semi           Preserve all semicolons
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
    --disable-optimizations   Disable all micro optimizations
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
DESCRIPTION
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
  The YUI Compressor is a JavaScript compressor which, in addition to removing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
  comments and white-spaces, obfuscates local variables using the smallest
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
  possible variable name. This obfuscation is safe, even when using constructs
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
  such as 'eval' or 'with' (although the compression is not optimal is those
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
  cases) Compared to jsmin, the average savings is around 20%.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
  The YUI Compressor is also able to safely compress CSS files. The decision
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
  on which compressor is being used is made on the file extension (js or css)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
GLOBAL OPTIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
  -h, --help
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
      Prints help on how to use the YUI Compressor
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
  --line-break
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
      Some source control tools don't like files containing lines longer than,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
      say 8000 characters. The linebreak option is used in that case to split
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
      long lines after a specific column. It can also be used to make the code
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
      more readable, easier to debug (especially with the MS Script Debugger)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
      Specify 0 to get a line break after each semi-colon in JavaScript, and
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
      after each rule in CSS.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
  --type js|css
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
      The type of compressor (JavaScript or CSS) is chosen based on the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
      extension of the input file name (.js or .css) This option is required
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
      if no input file has been specified. Otherwise, this option is only
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
      required if the input file extension is neither 'js' nor 'css'.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
  --charset character-set
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
      If a supported character set is specified, the YUI Compressor will use it
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
      to read the input file. Otherwise, it will assume that the platform's
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
      default character set is being used. The output file is encoded using
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
      the same character set.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
  -o outfile
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
      Place output in file outfile. If not specified, the YUI Compressor will
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
      default to the standard output, which you can redirect to a file.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
  -v, --verbose
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
      Display informational messages and warnings.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
JAVASCRIPT ONLY OPTIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
  --nomunge
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
      Minify only. Do not obfuscate local symbols.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
  --preserve-semi
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
      Preserve unnecessary semicolons (such as right before a '}') This option
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
      is useful when compressed code has to be run through JSLint (which is the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
      case of YUI for example)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
  --disable-optimizations
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
      Disable all the built-in micro optimizations.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
NOTES
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
  + If no input file is specified, it defaults to stdin.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
  + The YUI Compressor requires Java version >= 1.4.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
  + It is possible to prevent a local variable, nested function or function
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
    argument from being obfuscated by using "hints". A hint is a string that
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
    is located at the very beginning of a function body like so:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
    function fn (arg1, arg2, arg3) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
        "arg2:nomunge, localVar:nomunge, nestedFn:nomunge";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
        ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
        var localVar;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
        ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
        function nestedFn () {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
            ....
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
        ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
    The hint itself disappears from the compressed file.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
  + C-style comments starting with /*! are preserved. This is useful with
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
    comments containing copyright/license information. For example:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
    /*!
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
     * TERMS OF USE - EASING EQUATIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
     * Open source under the BSD License.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
     * Copyright 2001 Robert Penner All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
    becomes:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
     * TERMS OF USE - EASING EQUATIONS
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
     * Open source under the BSD License.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
     * Copyright 2001 Robert Penner All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
AUTHOR
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
  The YUI Compressor was written and is maintained by:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
      Julien Lecomte <jlecomte@yahoo-inc.com>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
  The CSS portion is a port of Isaac Schlueter's cssmin utility.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
COPYRIGHT
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
  Copyright (c) 2007-2009, Yahoo! Inc. All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
LICENSE
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
  All code specific to YUI Compressor is issued under a BSD license.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
  YUI Compressor extends and implements code from Mozilla's Rhino project.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
  Rhino is issued under the Mozilla Public License (MPL), and MPL applies
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
  to the Rhino source and binaries that are distributed with YUI Compressor.