mirror of
				https://github.com/imfing/hextra.git
				synced 2025-10-30 20:50:16 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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"
 | 
