blob: 17340ba6b04250d92187294fa9941418be47322b (
plain)
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
|
#!/bin/sh
# to build this site, you must have: git, pnpm, go and hugo
echo "_______ _______ _______ ______ _______ _______ _______ _______ _______ "
echo "( ____ \( ____ \( ____ \( __ \ ( ____ \( ___ )( ____ )( ____ )( ___ )"
echo "| ( \/| ( \/| ( \/| ( \ )| ( \/| ( ) || ( )|| ( )|| ( ) |"
echo "| | | (__ | (__ | | ) || (__ | (___) || (____)|| (____)|| | | |"
echo "| | ____ | __) | __) | | | || __) | ___ || _____)| __)| | | |"
echo "| | \_ )| ( | ( | | ) || ( | ( ) || ( | (\ ( | | | |"
echo "| (___) || (____/\| (____/\| (__/ )| (____/\| ) ( || ) | ) \ \__| (___) |"
echo "(_______)(_______/(_______/(______/ (_______/|/ \||/ |/ \__/(_______)"
# ========= Pull =========== #
echo "\n\n1️⃣ Pulling changes from remote.\n"
git pull
# ======= pre-build ========= #
echo "\n\n2️⃣ Pre-Build\n"
pnpm build:uno:prod # build UnoCSS
# check and build Go binaries if needed
mkdir -p bin
# List of Go programs to build and execute
go_programs="extract_highlights get_external_link_rank get_internal_link_graph"
for program in $go_programs; do
if [ ! -f "bin/$program" ]; then
echo "Building $program..."
cd scripts && go build -o "../bin/$program" "$program.go" && cd ..
else
echo "$program binary already exists in bin/"
fi
# Execute the binary
echo "Running $program..."
"./bin/$program"
done
# build hugo site
echo "\n\n3️⃣ Hugo!\n"
hugo --gc --minify
# post-build
echo "\n\n4️⃣ Post-Build\n"
pnpm pagefind --site public # indexing pagefind
pnpm wm public/index.xml --limit 1 --send # send webmention
|