#!/bin/bash # Usage: ./build-docs.sh [--strict] # --strict: Treat warnings as errors (default: warnings only) SPHINX_OPTS="" if [ "$1" = "--strict" ]; then SPHINX_OPTS="-W --keep-going" fi # Build docs using uv echo "Installing dependencies with uv..." uv sync --group docs --all-extras --no-extra gstreamer --no-extra local_smart_turn --no-extra moondream --no-extra mlx-whisper # Check if sphinx-build is available if ! uv run sphinx-build --version &> /dev/null; then echo "Error: sphinx-build is not available" >&2 exit 1 fi # Clean previous build rm -rf _build echo "Building documentation..." uv run sphinx-build -b html -d _build/doctrees . _build/html $SPHINX_OPTS if [ $? -eq 0 ]; then echo "Documentation built successfully!" # Open docs (MacOS) open _build/html/index.html else echo "Documentation build failed!" >&2 exit 1 fi