#!/bin/bash # ========================================== # Chat Switchboard - Build Script # ========================================== # Combines src/ files into a single standalone HTML file set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SRC_DIR="$SCRIPT_DIR/src" OUTPUT_DIR="$SCRIPT_DIR/standalone" OUTPUT_FILE="$OUTPUT_DIR/index.html" echo "🔀 Building Chat Switchboard..." # Ensure output directory exists mkdir -p "$OUTPUT_DIR" # Read source files CSS_CONTENT=$(cat "$SRC_DIR/css/styles.css") JS_BACKEND=$(cat "$SRC_DIR/js/backend.js") JS_STORAGE=$(cat "$SRC_DIR/js/storage.js") JS_STATE=$(cat "$SRC_DIR/js/state.js") JS_API=$(cat "$SRC_DIR/js/api.js") JS_UI=$(cat "$SRC_DIR/js/ui.js") JS_APP=$(cat "$SRC_DIR/js/app.js") # Read HTML and extract head/body content HTML_CONTENT=$(cat "$SRC_DIR/index.html") # Create standalone file cat > "$OUTPUT_FILE" << 'HTMLEOF' Chat Switchboard HTMLEOF # Extract body content (between and , excluding script tags) BODY_CONTENT=$(echo "$HTML_CONTENT" | sed -n '//,/<\/body>/p' | sed '1d;$d' | sed '/ HTMLEOF # Get file size SIZE=$(wc -c < "$OUTPUT_FILE" | tr -d ' ') SIZE_KB=$((SIZE / 1024)) echo "✅ Build complete!" echo " Output: $OUTPUT_FILE" echo " Size: ${SIZE_KB}KB ($SIZE bytes)" echo "" echo "📦 To use:" echo " 1. Open standalone/index.html in a browser" echo " 2. Or serve with: python3 -m http.server 8080"