From c2cabc8c7e8be769674d8a04b4073fc1b3262ffd Mon Sep 17 00:00:00 2001 From: Kevin Peng Date: Sun, 20 Apr 2025 07:20:36 +0800 Subject: [PATCH] refactor deploy workflow to use find for image copying and minification --- .github/workflows/deploy.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0ade3a3..5046441 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -29,19 +29,14 @@ jobs: mkdir -p dist/css mkdir -p dist/js mkdir -p dist/images - cp -r src/images/* dist/images || echo "No images to copy" - for file in src/css/*.css; do - [ -e "$file" ] || continue - csso "$file" -o "dist/css/$(basename "${file%.css}.min.css")" - done - for file in src/js/*.js; do - [ -e "$file" ] || continue - uglifyjs "$file" -o "dist/js/$(basename "${file%.js}.min.js")" - done - for file in src/images/*.{png,jpg,jpeg}; do - [ -e "$file" ] || continue - cwebp "$file" -o "dist/images/$(basename "${file%.*}.webp")" - done + # Copy all images to dist/images + find src/images -type f -exec cp --parents {} dist \; || echo "No images to copy" + # Convert images to WebP format + find src/images -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) -exec sh -c 'cwebp "$1" -o "dist/images/$(basename "${1%.*}.webp")"' _ {} \; + # Minify CSS files + find src/css -type f -name "*.css" -exec sh -c 'csso "$1" -o "dist/css/$(basename "${1%.css}.min.css")"' _ {} \; + # Minify JS files + find src/js -type f -name "*.js" -exec sh -c 'uglifyjs "$1" -o "dist/js/$(basename "${1%.js}.min.js")"' _ {} \; - name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v4