45 lines
1.5 KiB
Bash
Executable File
45 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "🚀 Starting quick build (skipping compression)..."
|
|
|
|
# Build JavaScript bundles with Rollup
|
|
echo "📦 Building JavaScript bundles..."
|
|
npm run build:js
|
|
|
|
# Create utils.js re-export file in static for development
|
|
echo "📝 Creating utils.js module alias in static..."
|
|
echo "// Re-export everything from the minified module
|
|
export * from './utils.modern.min.js';" > static/js/utils.js
|
|
|
|
# Run Hugo build with minification
|
|
echo "🏗️ Building site with Hugo..."
|
|
hugo --minify -d public
|
|
|
|
# Process JavaScript without compression
|
|
echo "🔧 Processing JavaScript files (skipping compression)..."
|
|
SKIP_COMPRESSION=1 ./optimize-js.sh
|
|
|
|
# Process CSS
|
|
echo "🎨 Optimizing CSS..."
|
|
if [ -d "public/css" ]; then
|
|
mkdir -p public/css/optimized
|
|
|
|
# Process CSS files with CSSO
|
|
echo "Processing CSS files..."
|
|
for CSS_FILE in public/css/vendor/*.css public/css/*.css; do
|
|
if [ -f "$CSS_FILE" ]; then
|
|
FILENAME=$(basename "$CSS_FILE")
|
|
echo "Optimizing $FILENAME..."
|
|
npx csso "$CSS_FILE" -o "public/css/optimized/$FILENAME"
|
|
fi
|
|
done
|
|
|
|
# Update HTML files to reference optimized CSS
|
|
echo "Updating CSS references..."
|
|
find public -name "*.html" -type f -exec sed -i '' 's|/css/vendor/|/css/optimized/|g' {} \;
|
|
find public -name "*.html" -type f -exec sed -i '' 's|/css/app.min.css|/css/optimized/app.min.css|g' {} \;
|
|
find public -name "*.html" -type f -exec sed -i '' 's|/css/custom.css|/css/optimized/custom.css|g' {} \;
|
|
fi
|
|
|
|
echo "✅ Quick build complete! Site is ready in the 'public' directory." |