CPL-0.2.0: scripts/generate-samples-js.sh
#!/bin/bash
set -e
# Generate _site/samples.js from samples/ directory
# This script converts .cpl and .cdt files into a JavaScript module
# that can be imported by the web frontend.
PROJECT_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
OUTPUT_DIR="$PROJECT_ROOT/_site"
mkdir -p "$OUTPUT_DIR"
OUTPUT="$OUTPUT_DIR/samples.js"
echo "// Auto-generated from samples/ directory. Do not edit manually." > "$OUTPUT"
echo "export const sampleFiles = {" >> "$OUTPUT"
for f in "$PROJECT_ROOT"/samples/*.cpl "$PROJECT_ROOT"/samples/*.cdt; do
[ -f "$f" ] || continue
name="samples/$(basename "$f")"
# Use node for safe JSON escaping
content=$(node -e "process.stdout.write(JSON.stringify(require('fs').readFileSync('$f', 'utf8')))")
echo " $(node -e "process.stdout.write(JSON.stringify('$name'))"): $content," >> "$OUTPUT"
done
echo "};" >> "$OUTPUT"
echo "Generated $OUTPUT"