From bb6d3329d8a5b9449ffd48007faebf1d7ea2ddbb Mon Sep 17 00:00:00 2001 From: eltrac Date: Wed, 11 Feb 2026 22:01:28 +0800 Subject: refactor: extract data during the building process external link rank data, hightlights, internal link graph were extracted using Forgejo Action on every push. Now they were extracted on every build, not affecting commit history. --- build.sh | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) mode change 100644 => 100755 build.sh (limited to 'build.sh') diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 index bc071437..6bd621d0 --- a/build.sh +++ b/build.sh @@ -1,7 +1,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 -pnpm build:uno:prod + +# ======= 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 fetch_webmentions 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 -pnpm pagefind --site public -pnpm wm public/index.xml --limit 1 --send + +# post-build +echo "\n\n4️⃣ Post-Build\n" +pnpm pagefind --site public # indexing pagefind +pnpm wm public/index.xml --limit 1 --send # send webmention -- cgit v1.2.3