setup.sh
Rama master · réplica de lectura del repositorio original.
#!/bin/bash
set -e
# ============================================================
# Server Panel — 开发环境初始化
# 下载 TailwindCSS CLI + Alpine.js + Chart.js,编译 CSS
# ============================================================
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
BIN_DIR="$SCRIPT_DIR/bin"
STATIC_JS="$SCRIPT_DIR/static/js"
TAILWIND_VERSION="3.4.4"
ALPINE_VERSION="3.13.7"
CHART_VERSION="4.4.1"
mkdir -p "$BIN_DIR" "$STATIC_JS"
# Detect OS
OS="linux"
if [[ "$(uname)" == "Darwin" ]]; then
OS="macos"
fi
ARCH="x64"
if [[ "$(uname -m)" == "aarch64" ]]; then
ARCH="arm64"
fi
# Download TailwindCSS standalone CLI
echo "Downloading TailwindCSS ${TAILWIND_VERSION}..."
if [ "$OS" = "macos" ] && [ "$ARCH" = "arm64" ]; then
TAILWIND_URL="https://github.com/tailwindlabs/tailwindcss/releases/download/v${TAILWIND_VERSION}/tailwindcss-macos-arm64"
elif [ "$OS" = "macos" ]; then
TAILWIND_URL="https://github.com/tailwindlabs/tailwindcss/releases/download/v${TAILWIND_VERSION}/tailwindcss-macos-x64"
else
TAILWIND_URL="https://github.com/tailwindlabs/tailwindcss/releases/download/v${TAILWIND_VERSION}/tailwindcss-linux-x64"
fi
curl -sL "$TAILWIND_URL" -o "$BIN_DIR/tailwindcss"
chmod +x "$BIN_DIR/tailwindcss"
# Download Alpine.js
echo "Downloading Alpine.js ${ALPINE_VERSION}..."
curl -sL "https://cdn.jsdelivr.net/npm/alpinejs@${ALPINE_VERSION}/dist/cdn.min.js" -o "$STATIC_JS/alpine.min.js"
# Download Chart.js
echo "Downloading Chart.js ${CHART_VERSION}..."
curl -sL "https://cdn.jsdelivr.net/npm/chart.js@${CHART_VERSION}/dist/chart.umd.min.js" -o "$STATIC_JS/chart.min.js"
# Compile TailwindCSS
echo "Compiling CSS..."
"$BIN_DIR/tailwindcss" -i input.css -o static/css/main.css --minify
echo ""
echo "Setup complete."
echo "Static files:"
echo " static/css/main.css"
echo " static/js/alpine.min.js"
echo " static/js/chart.min.js"
echo ""
echo "Run: go build -o server-panel ."