#!/bin/bash
set -e
function cleanup(){
kill $(pgrep -f $(npm bin)/http-server) || true
}
trap cleanup EXIT
videos="$(find topics -name 'slides.html' -or -name 'slides_*ES.html')"
if [[ "${PREVIOUS_COMMIT_ID}" != "none" ]]; then
changed_slides="$(join <(echo "$videos" | xargs ./bin/filter-resource-metadata video | sort) <(git diff ${PREVIOUS_COMMIT_ID} --name-only | sort))"
else
changed_slides="$(echo "$videos" | xargs ./bin/filter-resource-metadata video)"
fi
./node_modules/.bin/http-server -p 9876 _site &
for slides in $changed_slides; do
echo "====== $slides ======"
dir="$(dirname "$slides")"
pdf="$dir/$(basename "$slides" .html).pdf"
mp4="videos/$dir/$(basename "$slides" .html).mp4"
built_slides="_site/training-material/$slides"
echo $built_slides
docker run --rm --network host -v $(pwd):/slides astefanutti/decktape:3.9 automatic -s 1920x1080 http://127.0.0.1:9876/training-material/$slides /slides/_site/training-material/$pdf
echo ari.sh "_site/training-material/$pdf" "$slides" "$mp4"
./bin/ari.sh "_site/training-material/$pdf" "$slides" "$mp4"
done
cleanup
mkdir -p videos/topics/
git log -1 --format=%H > videos/topics/last-commit