$minified = minify($js);
but is substantially faster as its written in XS and not just pure Perl.
HOW IT WORKS
removed, except when (a) they contain the word copyright in them, or (b)
theyre needed to implement IE Conditional Compilation.
Internally, the minification process is done by taking multiple passes through
Pass 1: Tokenize
internally. The tokenizing process <B>does notB> check to make sure youve got
tokens suitable for processing by the subsequent stages.
Pass 2: Collapse
We then march through the token list and collapse certain tokens down to their
smallest possible representation. If theyre still included in the final
results we only want to include them at their shortest.
Runs of multiple whitespace characters are reduced down to a single whitespace
character. If the whitespace contains any end of line (EOL) characters, then
the end result is the first EOL character encountered. Otherwise, the
result is the first whitespace character in the run.
Pass 3: Pruning
We then go back through the token list and prune and remove un-necessary
Wherever possible, whitespace is removed; before+after comment blocks, and
before+after various symbols/sigils.
Comments that are either (a) IE conditional compilation comments, or that (b)
contain the word copyright in them are preserved. <B>AllB> other comments
(line and block) are removed.
We keep everything else; identifiers, quoted literal strings, symbols/sigils,
Pass 4: Re-assembly
Lastly, we go back through the token list and re-assemble it all back into a
Graham TerMarsch (email@example.com)
Please report bugs via RT
Copyright (C) 2007-2008, Graham TerMarsch. All Rights Reserved.
This is free software; you can redistribute it and/or modify it under the same
license as Perl itself.
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.