minifycss.sh - www.codemadness.org - www.codemadness.org saait content files
 (HTM) git clone git://git.codemadness.org/www.codemadness.org
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       minifycss.sh (822B)
       ---
            1 #!/bin/sh
            2 # quick & dirty CSS minifier, sometimes it works(tm).
            3 
            4 #sed -E \
            5 #        -e 's@^[[:space:]]*@@g' \
            6 #        -e 's@[[:space:]]*$@@g' | \
            7 #tr -d '\n' | \
            8 #sed -E \
            9 #        -e 's@([:,])[[:space:]]*@\1@g' \
           10 #        -e 's@[[:space:]]*{@{@g'
           11 
           12 tr -d '\r' | \
           13 awk '
           14 function stripcomments(s) {
           15         for (rs = s; ;) {
           16                 if (!(start = index(rs, "/*")))
           17                         return rs;
           18 
           19                 cs = substr(rs, start + 2);
           20                 if (!(end = index(cs, "*/")))
           21                         return rs;
           22                 rs = substr(rs, 1, start - 1) substr(cs, end + 2);
           23         }
           24 }
           25 {
           26         line = $0;
           27         gsub("^[[:space:]]*", "", line);
           28         gsub("[[:space:]]*$", "", line);
           29         data = data line;
           30 }
           31 END {
           32         gsub(":[[:space:]]*", ":", data);
           33         gsub(",[[:space:]]*", ":", data);
           34         gsub("[[:space:]]*{", "{", data);
           35 
           36         data = stripcomments(data);
           37 
           38         # might break compatibility: last brace not needed.
           39         #gsub(";}", "}", data);
           40 
           41         printf("%s", data);
           42 }
           43 '