26 lines
899 B
Bash
Executable File
26 lines
899 B
Bash
Executable File
#!/bin/bash
|
|
|
|
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
|
|
|
# Find all files of type PNG, JPEG, TIFF, or HEIC
|
|
files=$(find "$SCRIPT_DIR/../hugo-content/static/img/" -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.tif" -o -iname "*.tiff" -o -iname "*.heic" \))
|
|
|
|
# Loop through all the files in the directory
|
|
for file in $files; do
|
|
output="${file%.*}.webp"
|
|
|
|
# Check if file is HEIC format
|
|
if [[ "$file" == *.heic ]] || [[ "$file" == *.HEIC ]]; then
|
|
# Convert HEIC to WebP using sips (built into macOS) and cwebp
|
|
temp_png="${file%.*}_temp.png"
|
|
sips -s format png "$file" --out "$temp_png" >/dev/null 2>&1
|
|
cwebp -resize 1500 0 "$temp_png" -o "$output"
|
|
rm "$temp_png"
|
|
else
|
|
# Convert other formats directly with cwebp
|
|
cwebp -resize 1500 0 "$file" -o "$output"
|
|
fi
|
|
|
|
# Delete old file
|
|
rm "$file"
|
|
done |