31 lines
883 B
Bash
Executable File
31 lines
883 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# SFCraft 文档构建入口 (Linux / macOS / Unix): 先同步贴图, 再执行 hugo 构建。
|
|
# 贴图同步失败(有物品找不到)时终止构建。
|
|
# 用法: ./scripts/build.sh [hugo 参数...]
|
|
set -euo pipefail
|
|
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
echo
|
|
echo "[1/2] 同步物品贴图"
|
|
"$DIR/sync-items.sh"
|
|
|
|
if ! command -v hugo >/dev/null 2>&1; then
|
|
HUGO_BIN=""
|
|
if [ -n "${HUGO:-}" ] && [ -x "$HUGO" ]; then
|
|
HUGO_BIN="$HUGO"
|
|
elif [ -n "${LOCALAPPDATA:-}" ]; then
|
|
HUGO_BIN="$(find "$LOCALAPPDATA/Microsoft/WinGet/Packages" -maxdepth 3 -name hugo.exe 2>/dev/null | head -n 1)"
|
|
fi
|
|
if [ -z "$HUGO_BIN" ]; then
|
|
echo "[错误] 未找到 hugo, 请安装 Hugo、将其加入 PATH, 或设置环境变量 HUGO。" >&2
|
|
exit 1
|
|
fi
|
|
else
|
|
HUGO_BIN="$(command -v hugo)"
|
|
fi
|
|
|
|
echo
|
|
echo "[2/2] hugo 构建"
|
|
exec "$HUGO_BIN" "$@"
|