#!/usr/bin/env bash # Generate index.html for slide overview BUILD_DIR="${1:-build}" cat > "$BUILD_DIR/index.html" << 'HEADER' 223015c - Internettechnologien

223015c

Internettechnologien
HdM Stuttgart - WS 2025/26 - Michael Czechowski

HEADER # Generate links for each termin (sorted) for html in $(ls "$BUILD_DIR"/2*.html 2>/dev/null | sort); do filename=$(basename "$html") # Extract components from filename # Format: 2025-12-20-termin-1-geschichte-grundlagen-html.html date=$(echo "$filename" | grep -oE '^[0-9]{4}-[0-9]{2}-[0-9]{2}') termin_num=$(echo "$filename" | grep -oE 'termin-[0-9]+' | grep -oE '[0-9]+') topic_raw=$(echo "$filename" | sed -E 's/^[0-9]{4}-[0-9]{2}-[0-9]{2}-termin-[0-9]+-//' | sed 's/\.html$//') # Format topic: replace - with space, capitalize topic=$(echo "$topic_raw" | sed 's/-/ /g' | sed 's/.*/\u&/') # Format date if [[ "$date" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]; then formatted_date=$(date -d "$date" "+%d.%m.%Y" 2>/dev/null || echo "$date") else formatted_date="TBA" fi termin_label="Termin $termin_num" cat >> "$BUILD_DIR/index.html" << LINK

$termin_label

$formatted_date $topic
LINK done cat >> "$BUILD_DIR/index.html" << 'FOOTER' FOOTER echo "Generated $BUILD_DIR/index.html"