Ctrl K
ComunidadGuías…

setup.sh

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/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 ."