#!/bin/bash

# Source: https://www.digitalocean.com/community/tutorials/how-to-create-and-serve-webp-images-to-speed-up-your-website#step-3-%E2%80%94-converting-jpeg-and-png-images-in-a-directory
# Usage ./webp-convert.sh /path/to/images

if [ $# -eq 0 ]; then
        echo "Usage ./webp-convert.sh /path/to/images"
        exit 1
fi

# Convert JPEG images to WEBP
find "$1" -type f -and \( -iname "*.jpg" -o -iname "*.jpeg" \) \
-exec bash -c '
webp_path=$(sed 's/\.[^.]*$/.webp/' <<< "$0");
if [ ! -f "$webp_path" ]; then
  cwebp -quiet -q 90 "$0" -o "$webp_path";
fi;' {} \;

# Convert PNG images to WEBP
find "$1" -type f -and -iname "*.png" \
-exec bash -c '
webp_path=$(sed 's/\.[^.]*$/.webp/' <<< "$0");
if [ ! -f "$webp_path" ]; then
  cwebp -quiet -lossless "$0" -o "$webp_path";
fi;' {} \;