#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
DOCS_SRC="$ROOT/docs-src"
PAPYRUS_BIN="${PAPYRUS_BIN:-}"

if [[ -z "$PAPYRUS_BIN" ]]; then
  if [[ -x "$ROOT/vendor/bin/papyrus" ]]; then
    PAPYRUS_BIN="$ROOT/vendor/bin/papyrus"
  elif command -v papyrus >/dev/null 2>&1; then
    PAPYRUS_BIN="$(command -v papyrus)"
  elif [[ -x "$ROOT/../papyrus/bin/papyrus" ]]; then
    PAPYRUS_BIN="$ROOT/../papyrus/bin/papyrus"
  else
    echo "papyrus CLI not found. Set PAPYRUS_BIN or install milon/papyrus (^1.4)." >&2
    exit 1
  fi
fi

# Sync example PNGs into docs-src/assets/ so build:site copies them into the site.
rm -rf "$DOCS_SRC/assets/examples"
mkdir -p "$DOCS_SRC/assets"
cp -R "$ROOT/docs/examples" "$DOCS_SRC/assets/examples"
if [[ -f "$ROOT/banner.png" ]]; then
  cp "$ROOT/banner.png" "$DOCS_SRC/assets/banner.png"
fi

cd "$ROOT"
"$PAPYRUS_BIN" doctor -d docs-src
"$PAPYRUS_BIN" build:site -d docs-src -e docs

SITE="$(ls -d "$ROOT"/docs/*-site 2>/dev/null | head -n 1 || true)"
echo "Built: ${SITE:-unknown} (Papyrus $($PAPYRUS_BIN --version 2>/dev/null | tail -n 1 || echo unknown))"
