diff --git a/build.sh b/build.sh index 2910b18..64ab1a3 100755 --- a/build.sh +++ b/build.sh @@ -1,46 +1,47 @@ -echo "Starting build..." +#!/bin/bash -SOURCE=${BASH_SOURCE[0]} -DIR_OF_THIS_SCRIPT="$( dirname "$SOURCE" )" -ABS_DIR_OF_SCRIPT="$( realpath $DIR_OF_THIS_SCRIPT )" - -# TODO: Check if current version is latest to avoid redundant installation -if [[ -f "tailwindcss" ]] -then - rm tailwindcss -fi - -# checks os and architecture for correct release -# https://stackoverflow.com/a/8597411 -echo "Installing & building tailwind..." -ASSET="tailwindcss" - -if [[ "$OSTYPE" == "linux-gnu"* ]]; then - ASSET="$ASSET-linux" -elif [[ "$OSTYPE" == "darwin"* ]]; then - ASSET="$ASSET-macos" -fi -if [[ "$(uname -m)" == "x86_64"* ]]; then - ASSET="$ASSET-x64" -elif [[ "$(uname -m)" == "arm64"* ]]; then - ASSET="$ASSET-arm64" -fi - -curl -sLO "https://github.com/tailwindlabs/tailwindcss/releases/download/v3.4.17/${ASSET}" -chmod +x $ASSET -mv $ASSET tailwindcss - - -# initialized and configures tailwind if not configured -echo "Initializing tailwind..." -if [[ ! -f "tailwind.config.js" ]] -then - ./tailwindcss init - sed -i '' "s| content: \\[\\],| content: \\['./templates/**/*.html'\\],|g" tailwind.config.js -fi - -# compiles tailwind css for prod & builds project -echo "Compiling tailwindcss and building zola project..." +set -e +echo "๐Ÿงน Cleaning build folders..." rm -rf public static/css -./tailwindcss -i css/index.css -o ./static/css/index.css --minify -zola --root $ABS_DIR_OF_SCRIPT build \ No newline at end of file + +echo "โฌ‡๏ธ Downloading TailwindCSS CLI..." +if [[ -f "tailwindcss.exe" ]]; then + rm tailwindcss.exe +fi + +ASSET="tailwindcss-windows-x64.exe" +curl -sLO "https://github.com/tailwindlabs/tailwindcss/releases/download/v3.4.17/${ASSET}" +mv ${ASSET} tailwindcss.exe +chmod +x tailwindcss.exe + +# Ensure correct config +if [[ ! -f "tailwind.config.js" ]]; then + echo "โš™๏ธ Creating tailwind.config.js" + echo "module.exports = { + content: ['./templates/**/*.html'], + theme: { extend: {} }, + plugins: [], +}" > tailwind.config.js +fi + +# Build Tailwind CSS +echo "๐ŸŽจ Building Tailwind CSS..." +./tailwindcss.exe -i css/index.css -o static/css/index.css --minify + +if [[ ! -f "static/css/index.css" ]]; then + echo "โŒ Tailwind CSS not generated." + exit 1 +fi + +echo "โœ… Tailwind CSS built at static/css/index.css" + +# Build Zola site +echo "๐Ÿ—๏ธ Building site with Zola..." +zola build + +# Final check +if [[ -f "public/css/index.css" ]]; then + echo "โœ… CSS successfully copied to public/" +else + echo "โŒ CSS NOT copied to public/. Check Zola static settings." +fi