wok-next diff rcssmin/description.txt @ rev 21135

Up libgcrypt (1.8.4), libpgp-error (1.34), libxml2 (2.9.9), libxslt (1.1.33).
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sun Jan 20 16:02:24 2019 +0200 (2019-01-20)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/rcssmin/description.txt	Sun Jan 20 16:02:24 2019 +0200
     1.3 @@ -0,0 +1,50 @@
     1.4 +RCSSmin is a CSS minifier written in Python.
     1.5 +
     1.6 +The minifier is based on the semantics of the YUI compressor, which itself is
     1.7 +based on the rule list by Isaac Schlueter.
     1.8 +
     1.9 +This module is a re-implementation aiming for speed instead of maximum
    1.10 +compression, so it can be used at runtime (rather than during a preprocessing
    1.11 +step). RCSSmin does syntactical compression only (removing spaces, comments and
    1.12 +possibly semicolons). It does not provide semantic compression (like removing
    1.13 +empty blocks, collapsing redundant properties etc). It does, however, support
    1.14 +various CSS hacks (by keeping them working as intended).
    1.15 +
    1.16 +Here's a feature list:
    1.17 +
    1.18 +  - Strings are kept, except that escaped newlines are stripped
    1.19 +  - Space/Comments before the very end or before various characters are
    1.20 +    stripped: ``:{});=>],!`` (The colon (``:``) is a special case, a single
    1.21 +    space is kept if it's outside a ruleset.)
    1.22 +  - Space/Comments at the very beginning or after various characters are
    1.23 +    stripped: ``{}(=:>[,!``
    1.24 +  - Optional space after unicode escapes is kept, resp. replaced by a simple
    1.25 +    space
    1.26 +  - whitespaces inside ``url()`` definitions are stripped
    1.27 +  - Comments starting with an exclamation mark (``!``) can be kept optionally.
    1.28 +  - All other comments and/or whitespace characters are replaced by a single
    1.29 +    space.
    1.30 +  - Multiple consecutive semicolons are reduced to one
    1.31 +  - The last semicolon within a ruleset is stripped
    1.32 +  - CSS Hacks supported:
    1.33 +
    1.34 +    - IE7 hack (``>/**/``)
    1.35 +    - Mac-IE5 hack (``/*\*/.../**/``)
    1.36 +    - The boxmodelhack is supported naturally because it relies on valid CSS2
    1.37 +      strings
    1.38 +    - Between ``:first-line`` and the following comma or curly brace a space is
    1.39 +      inserted. (apparently it's needed for IE6)
    1.40 +    - Same for ``:first-letter``
    1.41 +
    1.42 +rcssmin.c is a reimplementation of rcssmin.py in C and improves runtime up to
    1.43 +factor 100 or so (depending on the input). docs/BENCHMARKS in the source
    1.44 +distribution contains the details.
    1.45 +
    1.46 +The module additionally provides a "streamy" interface:
    1.47 +
    1.48 +$ python -mrcssmin <css >minified
    1.49 +
    1.50 +It takes two options:
    1.51 +
    1.52 +  -b  Keep bang-comments (Comments starting with an exclamation mark)  
    1.53 +  -p  Force using the python implementation (not the C implementation)