فهرست منبع

Update `list-unused-images.sh` script for recent changes

- Exclude all images in the top-level `img/` folder.
- Take WebP images into account.
- Fix shellcheck warnings.
- Mark the script as executable so it can be run more easily.
Hugo Locurcio 1 سال پیش
والد
کامیت
49f1f01b41
1فایلهای تغییر یافته به همراه11 افزوده شده و 8 حذف شده
  1. 11 8
      _tools/list-unused-images.sh

+ 11 - 8
_tools/list-unused-images.sh

@@ -1,4 +1,7 @@
-#!/bin/bash
+#!/usr/bin/env bash
+
+set -uo pipefail
+IFS=$'\n\t'
 
 check_git_history=false
 
@@ -9,19 +12,17 @@ rm -f tmp-unused-images-history
 # Exceptions are ignored, and for .svg files we also look for potential .png
 # files with the same base name, as they might be sources.
 
-exceptions="docs_logo.svg tween_cheatsheet.png"
-
-files=$(find -name "_build" -prune -o \( -name "*.png" -o -name "*.jpg" -o -name "*.svg" -o -name "*.gif" \) -print | sort)
+files=$(find -name "_build" -prune -o \( -iname "*.png" -o -iname "*.webp" -o -iname "*.jpg" -o -iname "*.svg" -o -iname "*.gif" \) -print | sort)
 
 for path in $files; do
-  file=$(basename $path)
-  if echo "$exceptions" | grep -q "$file"; then
+  file=$(basename "$path")
+  if [[ "$path" == *./img/* ]]; then
     continue
   fi
   ext=${file##*.}
   base=${file%.*}
   found=$(rg -l ":: .*[ /]$file")
-  if [ -z "$found" -a "$ext" == "svg" ]; then
+  if [ -z "$found" ] && [ "$ext" == "svg" ]; then
     # May be source file.
     found=$(rg -l ":: .*[ /]$base.png")
   fi
@@ -30,11 +31,13 @@ for path in $files; do
   fi
 done
 
+echo "Wrote list of unused images to: tmp-unused-images"
 
 if [ "$check_git_history" = true ]; then
   for file in $(cat tmp-unused-images); do
     echo "File: $file"
-    git log --diff-filter=A --follow $file
+    git log --diff-filter=A --follow "$file"
     echo
   done > tmp-unused-images-history
+  echo "Wrote list of unused images in Git history to: tmp-unused-images-history"
 fi