#!/usr/bin/env bash help() { echo "Usage: markdown-image-upload.sh " } [ "$4" = "" ] && help && exit 0 repo="$1" tag="$2" img_dir="$3" file="$4" dir_path=$(dirname "$file") file_name=$(basename "$file") ( cd "$dir_path" || exit 1 images=$(grep -o "$img_dir"'[^")]*' "$file_name") [ -z "$images" ] && echo "No images found." && return echo "$images" | while read -r img; do [ -f "$img" ] || { echo "Skip missing: $img"; continue; } echo "Optimizing: $img" npx -y imageoptim-cli "$img" echo "Uploading: $img" gh release upload "$tag" "$img" -R "$repo" --clobber done sed -i '' "s|$img_dir|https://github.com/$repo/releases/download/$tag/|g" "$file_name" echo "✅ Complete!" )