diff --git a/.gitignore b/.gitignore index e3642b897..c732858ee 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,7 @@ ehthumbs_vista.db $RECYCLE.BIN/ logo.h *.autosave + +# Output of list-unused-images.sh tool +tmp-unused-images +tmp-unused-images-history diff --git a/.travis.yml b/.travis.yml index 71d330100..51281c256 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,10 +24,10 @@ install: - pip install codespell script: - - bash ./format.sh + - bash _tools/format.sh # Check for possible typos - - codespell -I codespell-ignore.txt {about,community,development,getting_started,tutorials}/**/*.rst + - codespell -I _tools/codespell-ignore.txt {about,community,development,getting_started,tutorials}/**/*.rst # TODO: Add `-W` to turn warnings into errors. # This can only be done once all warnings have been fixed. diff --git a/codespell-ignore.txt b/_tools/codespell-ignore.txt similarity index 100% rename from codespell-ignore.txt rename to _tools/codespell-ignore.txt diff --git a/format.sh b/_tools/format.sh similarity index 100% rename from format.sh rename to _tools/format.sh diff --git a/_tools/list-unused-images.sh b/_tools/list-unused-images.sh new file mode 100644 index 000000000..44c70f6d4 --- /dev/null +++ b/_tools/list-unused-images.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +check_git_history=false + +rm -f tmp-unused-images +rm -f tmp-unused-images-history + +# List images which might be unused. +# 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.png tween_cheatsheet.png" + +files=$(find -name "_build" -prune -o \( -name "*.png" -o -name "*.jpg" -o -name "*.svg" -o -name "*.gif" \) -print | sort) + +for path in $files; do + file=$(basename $path) + if echo "$exceptions" | grep -q "$file"; then + continue + fi + ext=${file##*.} + base=${file%.*} + found=$(rg -l ":: .*[ /]$file") + if [ -z "$found" -a "$ext" == "svg" ]; then + # May be source file. + found=$(rg -l ":: .*[ /]$base.png") + fi + if [ -z "$found" ]; then + echo "$path" >> tmp-unused-images + fi +done + + +if [ "$check_git_history" = true ]; then + for file in $(cat tmp-unused-images); do + echo "File: $file" + git log --diff-filter=A --follow $file + echo + done > tmp-unused-images-history +fi