diff --git a/scripts/03_optimize_images.sh b/scripts/03_optimize_images.sh index 419bf99bfb7262d398666d7d213c185b8d5b3844..57ac987adfea9388144045755da6d6df5de73c82 100755 --- a/scripts/03_optimize_images.sh +++ b/scripts/03_optimize_images.sh @@ -16,11 +16,14 @@ CONVERT_OPTIONS="-alpha off +dither -colors 256 -depth 4" OPTIPNG_OPTIONS="-preserve -quiet -o7" -# delete empty/temp files +echo "Cleaning empty/temp files..." find "${IMAGES_CACHE_FOLDER}" -type f -name "*.png" -empty -exec rm {} \; find "${IMAGES_CACHE_FOLDER}" -type f -name "*.tmp*" -exec rm {} \; find "${IMAGES_CACHE_FOLDER}" -type d -empty -exec rm -rf {} \; +echo "Cleaning existing optimized images..." +find "${IMAGES_OPTIMIZED_FOLDER}" -type f -name "*.png" -exec rm {} \; + IMAGES="$(find "${IMAGES_SELECTED_FOLDER}" -type f -name "*.png" | sort)" while read -r INPUT_FILE; do diff --git a/scripts/04_build_images_board.sh b/scripts/04_build_images_board.sh new file mode 100755 index 0000000000000000000000000000000000000000..2650396a9aec3de574e6e19dc13d9553fccbdd1f --- /dev/null +++ b/scripts/04_build_images_board.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +command -v jq >/dev/null 2>&1 || { echo >&2 "I require jq (json parser) but it's not installed. Aborting."; exit 1; } + +CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" +BASE_DIR="$(dirname "${CURRENT_DIR}")" + + +IMAGES_CACHE_FOLDER="${CURRENT_DIR}/cache" +IMAGES_OPTIMIZED_FOLDER="${IMAGES_CACHE_FOLDER}/optimized" +OUTPUT_IMAGES_BOARD_FILE="${IMAGES_CACHE_FOLDER}/images_board.html" +touch "${OUTPUT_IMAGES_BOARD_FILE}" + +echo "Cleaning empty/temp files..." +find "${IMAGES_OPTIMIZED_FOLDER}" -type f -name "*.png" -empty -exec rm {} \; +find "${IMAGES_OPTIMIZED_FOLDER}" -type f -name "*.tmp*" -exec rm {} \; +find "${IMAGES_OPTIMIZED_FOLDER}" -type d -empty -exec rm -rf {} \; + +echo "Building images board file..." +FILES="$(find "${IMAGES_OPTIMIZED_FOLDER}" -type f -name "*.png" | sed "s|^${IMAGES_OPTIMIZED_FOLDER}/||g" | sort)" +KEYWORDS="$(echo "${FILES}" | cut -d'/' -f1 | sort | uniq)" + +echo "<!DOCTYPE html>" > "${OUTPUT_IMAGES_BOARD_FILE}" +echo "<html lang=\"en\">" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " <head>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " <style>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " table { border-collapse: collapse; border: solid 2px black; width: 100%; }" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " tr { }" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " td { border: solid 1px black; }" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " span { font-weight: bold; }" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " img { border: solid 1px grey; }" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " </style>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " </head>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " <body>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " <table>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +while read -r KEYWORD; do + if [[ -n "${KEYWORD}" ]]; then + echo " <tr>" >> "${OUTPUT_IMAGES_BOARD_FILE}" + echo " <td><span>${KEYWORD}</span></td>" >> "${OUTPUT_IMAGES_BOARD_FILE}" + FILES_KEYWORD="$(echo "${FILES}" | grep -e "^${KEYWORD}/")" + echo " <td>" >> "${OUTPUT_IMAGES_BOARD_FILE}" + while read -r FILE; do + echo " <img src=\"optimized/${FILE}\">" >> "${OUTPUT_IMAGES_BOARD_FILE}" + done < <(echo "${FILES_KEYWORD}") + echo " </td>" >> "${OUTPUT_IMAGES_BOARD_FILE}" + echo " </tr>" >> "${OUTPUT_IMAGES_BOARD_FILE}" + fi +done < <(echo "${KEYWORDS}") +echo " </table>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo " </body>" >> "${OUTPUT_IMAGES_BOARD_FILE}" +echo "</html>" >> "${OUTPUT_IMAGES_BOARD_FILE}" + +echo "done." diff --git a/scripts/04_build_assets_list.sh b/scripts/05_build_assets_list.sh similarity index 100% rename from scripts/04_build_assets_list.sh rename to scripts/05_build_assets_list.sh