-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild-css.sh
More file actions
executable file
·56 lines (45 loc) · 1.54 KB
/
build-css.sh
File metadata and controls
executable file
·56 lines (45 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
# CSS Build Script
# Minifies CSS files for production deployment
echo "Building minified CSS files..."
# Create dist directory if it doesn't exist
mkdir -p css/dist
# Function to minify CSS (removes comments, whitespace, newlines)
minify_css() {
input_file=$1
output_file=$2
# Simple minification using sed
# Remove comments, collapse whitespace, remove newlines
sed 's/\/\*[^*]*\*\///g' "$input_file" | \
tr -d '\n' | \
sed 's/ */ /g' | \
sed 's/ *{ */{/g' | \
sed 's/ *} */}/g' | \
sed 's/ *: */:/g' | \
sed 's/ *; */;/g' | \
sed 's/ *, */,/g' > "$output_file"
echo "✓ Minified: $input_file -> $output_file"
}
# Minify all CSS files
minify_css "css/reset.css" "css/dist/reset.min.css"
minify_css "css/variables.css" "css/dist/variables.min.css"
minify_css "css/base.css" "css/dist/base.min.css"
minify_css "css/layout.css" "css/dist/layout.min.css"
minify_css "css/components.css" "css/dist/components.min.css"
minify_css "css/animations.css" "css/dist/animations.min.css"
# Create combined minified file
cat css/dist/reset.min.css \
css/dist/variables.min.css \
css/dist/base.min.css \
css/dist/layout.min.css \
css/dist/components.min.css \
css/dist/animations.min.css > css/dist/main.min.css
echo "✓ Created combined file: css/dist/main.min.css"
# Calculate file sizes
echo ""
echo "File sizes:"
du -h css/*.css css/dist/*.css
echo ""
echo "CSS build complete!"
echo "For production, update index.html to use minified files:"
echo '<link rel="stylesheet" href="./css/dist/main.min.css">'