You've already forked Openterface_assets
mirror of
https://github.com/TechxArtisanStudio/Openterface_assets.git
synced 2025-06-10 16:33:42 -07:00
refactor build process to move image processing and minification to build.sh
This commit is contained in:
13
.github/workflows/deploy.yml
vendored
13
.github/workflows/deploy.yml
vendored
@@ -25,18 +25,7 @@ jobs:
|
|||||||
npm install -g uglify-js csso-cli
|
npm install -g uglify-js csso-cli
|
||||||
|
|
||||||
- name: Build and minify project
|
- name: Build and minify project
|
||||||
run: |
|
run: ./build.sh
|
||||||
mkdir -p dist/css
|
|
||||||
mkdir -p dist/js
|
|
||||||
mkdir -p dist/images
|
|
||||||
# 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
|
- name: Deploy to gh-pages
|
||||||
uses: peaceiris/actions-gh-pages@v4
|
uses: peaceiris/actions-gh-pages@v4
|
||||||
|
27
build.sh
Normal file
27
build.sh
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Create necessary directories
|
||||||
|
mkdir -p dist/css
|
||||||
|
mkdir -p dist/js
|
||||||
|
mkdir -p dist/images
|
||||||
|
|
||||||
|
# Copy all images to dist/images while preserving folder structure
|
||||||
|
rsync -a src/images/ dist/images/
|
||||||
|
|
||||||
|
# Convert images to WebP format while preserving folder structure
|
||||||
|
find src/images -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" \) -exec sh -c '
|
||||||
|
mkdir -p "dist/images/$(dirname "$1" | sed "s|src/images/||")" &&
|
||||||
|
cwebp "$1" -o "dist/images/$(dirname "$1" | sed "s|src/images/||")/$(basename "${1%.*}.webp")"
|
||||||
|
' _ {} \;
|
||||||
|
|
||||||
|
# Minify CSS files while preserving folder structure
|
||||||
|
find src/css -type f -name "*.css" -exec sh -c '
|
||||||
|
mkdir -p "dist/css/$(dirname "$1" | sed "s|src/css/||")" &&
|
||||||
|
csso "$1" -o "dist/css/$(dirname "$1" | sed "s|src/css/||")/$(basename "${1%.css}.min.css")"
|
||||||
|
' _ {} \;
|
||||||
|
|
||||||
|
# Minify JS files while preserving folder structure
|
||||||
|
find src/js -type f -name "*.js" -exec sh -c '
|
||||||
|
mkdir -p "dist/js/$(dirname "$1" | sed "s|src/js/||")" &&
|
||||||
|
uglifyjs "$1" -o "dist/js/$(dirname "$1" | sed "s|src/js/||")/$(basename "${1%.js}.min.js")"
|
||||||
|
' _ {} \;
|
Reference in New Issue
Block a user