cookutils diff modules/compressor @ rev 1102
modules/compressor: compress CSS
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Nov 30 16:23:45 2018 +0200 (2018-11-30) |
parents | 33dbe879cc21 |
children | 68d7bbd2b138 |
line diff
1.1 --- a/modules/compressor Fri Nov 30 01:19:41 2018 +0200 1.2 +++ b/modules/compressor Fri Nov 30 16:23:45 2018 +0200 1.3 @@ -114,6 +114,7 @@ 1.4 mo2) find $fs/usr/share/locale -type f -name '*.mo' -exec ls -l \{\} \; ;; 1.5 gz) find $install -type f -name '*.gz' ! -path '*/share/man/*' -exec ls -l \{\} \; ;; 1.6 zip) find $install -type f -name '*.zip' -exec ls -l \{\} \; ;; 1.7 + css) find $install -type f -name '*.css' -exec ls -l \{\} \; ;; 1.8 strip) 1.9 { 1.10 find_elf EXEC 1.11 @@ -460,6 +461,32 @@ 1.12 } 1.13 1.14 1.15 +# Function used after compile_rules() to shrink all *.css files: 1.16 +# remove insignificant spaces and comments 1.17 +# Compressing can be disabled with COOKOPTS="!cssz" 1.18 + 1.19 +compress_css() { 1.20 + [ "${COOKOPTS/!cssz/}" != "$COOKOPTS" ] && return 1.21 + size0=$(sizes css); [ -z "$size0" ] && return 1.22 + 1.23 + tpi rcssmin 1.24 + 1.25 + action 'Compressing CSS files...' 1.26 + 1.27 + time0=$(get_time) 1.28 + temp_css="$(mktemp)" 1.29 + IFS=$'\n' 1.30 + for css in $(find $install -type f -name '*.css'); do 1.31 + python -mrcssmin < "$css" > "$temp_css" 1.32 + cat "$temp_css" > "$css" 1.33 + done 1.34 + unset IFS 1.35 + 1.36 + comp_summary "$time0" "$size0" "$(sizes css)" '/dev/null' 1.37 + rm "$temp_css" 1.38 +} 1.39 + 1.40 + 1.41 # Get list of supported locales... 1.42 1.43 get_supported_locales() { 1.44 @@ -840,6 +867,7 @@ 1.45 compress_svg 1.46 compress_gif 1.47 compress_ui 1.48 + compress_css 1.49 ;; 1.50 esac 1.51