-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sh
executable file
·56 lines (44 loc) · 1.56 KB
/
build.sh
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
# Ensure the latest post is included on the home page
printf "Did you update the 'Recent Blog Posts' section? [yn] "
read answer
# Only continue if latest post is included on the home page
if [[ "$answer" =~ ^[Yy]$ ]]; then
# Check if the environment flag is set to PROD
if [[ "$ENV" == "prod" ]]; then
echo "Environment: Production"
# Check if publishing via LAN or remotely
printf "Publishing on remote or LAN? [r|l] "
# Update ubuntu_server variable based on answer
read method
if [[ "$method" =~ ^[Rr]$ ]]; then
ubuntu_server="ubuntu-remote"
elif [[ "$method" =~ ^[Ll]$ ]]; then
ubuntu_server="ubuntu"
else
echo "Invalid input. Assuming LAN (ubuntu)"
ubuntu_server="ubuntu"
fi
# Remove previous build
rm -rf .build/*
# Minify CSS
minify -o theme/static/styles.min.css theme/static/styles.css
# Run publishing script
emacs --script publish.el &>/dev/null
# Deploy changes
rsync -r --delete-before .build/* $ubuntu_server:/var/www/cmc.pub/
else
echo "Environment: Development"
# Remove previous build
rm -rf .build/*
# Minify CSS
minify -o theme/static/styles.min.css theme/static/styles.css
# Run publishing script
emacs --script publish.el
# Launch development web server
cd .build/
python3 -m http.server
fi
else
echo "Please update the 'Recent Blog Posts' section before publishing!"
fi