feat: ADD EXIF striping #3
This commit is contained in:
parent
9c91e77e9f
commit
be696c343c
3 changed files with 69 additions and 3 deletions
36
build.sh
36
build.sh
|
|
@ -10,6 +10,29 @@ OUTPUT_DIR="output"
|
|||
TEMPLATES_DIR="templates"
|
||||
ASSETS_DIR="assets"
|
||||
|
||||
# Image metadata (EXIF/GPS/IPTC/XMP) is stripped by default.
|
||||
# Opt out with STRIP_EXIF=0 or --keep-exif.
|
||||
STRIP_EXIF="${STRIP_EXIF:-1}"
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--keep-exif) STRIP_EXIF=0 ;;
|
||||
-h|--help)
|
||||
echo "usage: ./build.sh [--keep-exif]"
|
||||
echo " --keep-exif do not strip image metadata (env: STRIP_EXIF=0)"
|
||||
exit 0 ;;
|
||||
*) echo "unknown option: $arg" >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Fail before writing any output if the default cannot be honoured
|
||||
if [[ "$STRIP_EXIF" == "1" ]] && ! command -v exiftool >/dev/null 2>&1; then
|
||||
echo "error: exiftool is required to strip image metadata." >&2
|
||||
echo " install: apt install libimage-exiftool-perl (or: brew install exiftool)" >&2
|
||||
echo " bypass: STRIP_EXIF=0 ./build.sh or ./build.sh --keep-exif" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create output directory
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
|
||||
|
|
@ -57,7 +80,18 @@ done
|
|||
# Copy assets
|
||||
cp -r "$ASSETS_DIR"/* "$OUTPUT_DIR/"
|
||||
|
||||
# Copy images
|
||||
# Copy images, then strip metadata from the copies (originals are never touched)
|
||||
cp -r "$IMAGES_DIR" "$OUTPUT_DIR/"
|
||||
|
||||
if [[ "$STRIP_EXIF" == "1" ]]; then
|
||||
if compgen -G "$OUTPUT_DIR/$IMAGES_DIR/*" > /dev/null; then
|
||||
if ! exiftool -all= -overwrite_original -q -q "$OUTPUT_DIR/$IMAGES_DIR"; then
|
||||
echo "error: exiftool failed; output images may still contain metadata" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "warning: EXIF stripping disabled, image metadata will be published as-is" >&2
|
||||
fi
|
||||
|
||||
echo "Gallery generated successfully in $OUTPUT_DIR/index.html"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue