#!/usr/bin/env bash
# 本地预览：起一个静态服务器，模拟线上访问。
#
#   bash preview.sh          # 默认 http://127.0.0.1:8080
#   bash preview.sh 9000     # 指定端口
#
# 注意：必须用 HTTP 访问，直接双击打开 HTML（file://）会导致
# 搜索索引与线框图缩略图被浏览器拦截。

set -euo pipefail

PORT="${1:-8080}"
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

cd "$DIR"

echo "站点目录：$DIR"
echo "访问地址：http://127.0.0.1:${PORT}/"
echo "按 Ctrl+C 停止"
echo

if command -v python3 >/dev/null 2>&1; then
  exec python3 -m http.server "$PORT" --bind 127.0.0.1
elif command -v python >/dev/null 2>&1; then
  exec python -m SimpleHTTPServer "$PORT"
elif command -v npx >/dev/null 2>&1; then
  exec npx --yes serve -l "$PORT" .
else
  echo "找不到 python3 / python / npx，请先安装其中之一。" >&2
  exit 1
fi
