2022-05-30 23:09:40 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# takes three args:
|
|
|
|
# 1. output dir
|
|
|
|
# 2. "gzip" or "brotli"
|
|
|
|
# 3. ECT zopfli compression level
|
|
|
|
|
|
|
|
set -e -u
|
|
|
|
|
|
|
|
output_dir="$1"
|
|
|
|
format="$2"
|
|
|
|
|
2023-08-21 18:27:07 +00:00
|
|
|
alias find_compressible='find "$output_dir" -type f \( -name "*.html" -o -name "*.txt" -o -name "*.xml" -o -name "*.webmanifest" -o -name "*.*.svg" -o -name "*.json" \)'
|
2022-05-30 23:09:40 +00:00
|
|
|
|
|
|
|
if [ "$format" = "gzip" ]; then
|
|
|
|
compress_level="$3"
|
|
|
|
find_compressible -exec ect -quiet -"$compress_level" -gzip {} \;
|
2022-09-01 03:35:37 +00:00
|
|
|
find_compressible -exec touch -r {} {}.gz \;
|
2022-05-30 23:09:40 +00:00
|
|
|
elif [ "$2" = "brotli" ]; then
|
|
|
|
find_compressible -exec brotli -Z -- {} \;
|
|
|
|
fi
|