Files
hextra_mirror/build.sh

57 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e
# Specify the base URL
BASE_URL=${1:-"http://localhost:1313"}
echo "Using base URL: $BASE_URL"
# Version configuration - modify these arrays to specify versions to build
# MAIN_VERSION format: "ref:display_name:source_dir"
# VERSIONS format: "ref:display_name:source_dir" where source_dir is either "docs" or "exampleSite"
MAIN_VERSION="v0.11.1:latest:docs"
VERSIONS=(
"main:latest:docs" # latest version always builds from main
"v0.10.2:v0.10:exampleSite"
"v0.9.6:v0.9:exampleSite"
)
# Parse main version
IFS=':' read -r MAIN_REF MAIN_NAME MAIN_DIR <<< "$MAIN_VERSION"
# Ensure clean public directory
rm -rf public
mkdir -p public
mkdir -p public/versions
# Checkout and build main site
git checkout $MAIN_REF
GIT_HASH=$(git rev-parse --short HEAD)
echo "Building main site from $MAIN_REF (commit: $GIT_HASH)"
hugo \
--minify \
--themesDir=../.. --source=$MAIN_DIR \
--baseURL "$BASE_URL/" \
--destination=../public
# Build all versions
for VERSION in "${VERSIONS[@]}"; do
IFS=':' read -r REF NAME DIR <<< "$VERSION"
git checkout $REF
GIT_HASH=$(git rev-parse --short HEAD)
echo "Building version $NAME from $REF (commit: $GIT_HASH)"
mkdir -p "public/versions/$NAME"
hugo \
--minify \
--themesDir=../.. --source=$DIR \
--baseURL "$BASE_URL/versions/$NAME/" \
--destination="../public/versions/$NAME"
done
# Return to main branch
git checkout main
echo "Build completed"