#!/usr/bin/env bash set -euo pipefail SRC_DIR="${TYPST_SOURCE_DIR}" OUT_DIR="${BUILD_DIR}" if [[ ! -d "$SRC_DIR" ]]; then echo "Source directory '$SRC_DIR' does not exist." exit 1 fi mkdir -p "$OUT_DIR" # Find all .typ files under $SRC_DIR (excluding hidden dirs) mapfile -d '' files < <(printf '%s\0' "$SRC_DIR"/*.typ 2>/dev/null) if [[ ${#files[@]} -eq 0 ]]; then echo "No .typ files found in '$SRC_DIR'." exit 0 fi for f in "${files[@]}"; do # Trim leading ./ if present rel="${f#./}" # Destination path: build//.pdf dest_pdf="${OUT_DIR}/$(basename "${rel%.typ}").pdf" echo "Compiling: $f -> $dest_pdf" typst compile "$f" "$dest_pdf" done