about summary refs log blame commit diff stats
path: root/build.sh
blob: 0c54a4c622640845463cf6028d56c684d2fb25e1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                          



                                                                       
                    






                                                                   












































                                                                  
#!/bin/sh

set -e

build()
{
	printf '\n%s\n' 'Starting build ...'
	mkdir -p dist

	for FILE in html/*; do
		FILENAME=$(basename "$FILE")
		printf '\n%s %s\n' 'Building:' "$FILENAME"

		if [ "$FILENAME" != 'index.html' ]; then
			sed '/{{HEADER}}/r inc/_header.html' "$FILE" |\
			sed '/{{HEADER}}/D' |\
			sed '/{{LOGONAV}}/r inc/_logonav.html' |\
			sed '/{{LOGONAV}}/D' > "dist/$FILENAME"
		else
		    sed '/{{HEADER}}/r inc/_header.html' "$FILE" |\
			sed '/{{HEADER}}/D' |\
			sed '/{{LOGONAV}}/r inc/_logonav.html' |\
			sed '/{{LOGONAV}}/D' |\
			sed '/{{NEWS}}/r inc/_news.html' |\
			sed '/{{NEWS}}/D' > "dist/$FILENAME"
		fi
	done

	cp assets/* dist/
	printf '%s\n\n' 'Done!'
}

installation()
{
	if [ ! -d dist ]; then
		printf '\n%s\n\n' 'Please build first: ./build.sh'
		exit 1
	fi
	
	INSTDIR=/var/www/htdocs

	printf '\n%s %s\n' 'Installing to' "$INSTDIR"

	for FILE in dist/*; do
		FILENAME=$(basename "$FILE")
		EXT=$(echo "$FILENAME" | cut -d'.' -f2)

		if [ "$EXT" = 'php' ] || [ "$EXT" = 'cgi' ]; then
			install -m755 "$FILE" "$INSTDIR/$FILENAME"
		else
			install -m644 "$FILE" "$INSTDIR/$FILENAME"
		fi
	done

	printf '%s\n\n' 'Done!'
}

clean()
{
	printf '\n%s\n\n' 'Cleaning ...'
	rm -rf dist
}

case "$1" in
	install)
		installation; exit ;;
	clean)
		clean; exit ;;
	*)
		build
esac