43 lines
1.4 KiB
Bash
Executable File
43 lines
1.4 KiB
Bash
Executable File
INPUT_DIR="./src/main/resources/static/zaklik-public-images" # Folder z oryginalnymi obrazami
|
|
OUTPUT_DIR="./src/main/resources/static/zaklik-public-images-generated" # Główny folder do zapisu obrazów w nowych formatach
|
|
|
|
# Iteracja po wszystkich plikach w katalogu wejściowym i jego podkatalogach
|
|
find "$INPUT_DIR" -type f | while read -r file; do
|
|
# Relatywna ścieżka pliku w katalogu wejściowym
|
|
relative_path="${file#$INPUT_DIR/}"
|
|
|
|
# Ścieżka do katalogu docelowego
|
|
target_dir="$OUTPUT_DIR/$(dirname "$relative_path")"
|
|
|
|
# Nazwa pliku bez rozszerzenia
|
|
filename=$(basename "$file" | cut -f 1 -d '.')
|
|
|
|
# Ścieżki docelowych plików w formatach WebP i AVIF
|
|
webp_file="$target_dir/$filename.webp"
|
|
avif_file="$target_dir/$filename.avif"
|
|
|
|
# Sprawdzenie, czy oba pliki już istnieją
|
|
if [ -f "$webp_file" ] && [ -f "$avif_file" ]; then
|
|
echo "Pomijam plik: $file (już skompresowany)"
|
|
continue
|
|
fi
|
|
|
|
# Tworzenie podkatalogu w katalogu docelowym
|
|
mkdir -p "$target_dir"
|
|
|
|
# Konwersja do WebP (jeśli plik nie istnieje)
|
|
if [ ! -f "$webp_file" ]; then
|
|
convert "$file" -quality 80 "$webp_file"
|
|
echo "Skompresowano do WebP: $webp_file"
|
|
fi
|
|
|
|
# Konwersja do AVIF (jeśli plik nie istnieje)
|
|
if [ ! -f "$avif_file" ]; then
|
|
convert "$file" -quality 80 "$avif_file"
|
|
echo "Skompresowano do AVIF: $avif_file"
|
|
fi
|
|
done
|
|
|
|
echo "Konwersja zakończona."
|
|
|