HEADER
# Generate links for each kapitel (sorted)
for html in $(ls "$BUILD_DIR"/[0-9][0-9]-*.html 2>/dev/null | sort); do
filename=$(basename "$html")
# Extract components from filename (format: NN-topic.html)
kapitel_num=$(echo "$filename" | grep -oE '^[0-9]+' | sed 's/^0*//')
topic_raw=$(echo "$filename" | sed -E 's/^[0-9]+-//' | sed 's/\.html$//')
# Look up nice topic name or fallback
topic="${TOPIC_MAP[$topic_raw]}"
if [[ -z "$topic" ]]; then
topic=$(echo "$topic_raw" | sed 's/-/ /g' | sed 's/.*/\\u&/')
fi
# Handle kapitel number
if [[ "$kapitel_num" == "0" ]] || [[ -z "$kapitel_num" ]]; then
kapitel_label="Einführung"
else
kapitel_label="Kapitel $kapitel_num"
fi
pdf_filename="${filename%.html}.pdf"
# Determine whether this topic is configured as disabled for this course
disabled_full=false
disabled_buttons=false
for t in ${DISABLED_FULL["$COURSE"]}; do
if [[ "$topic_raw" == "$t" ]]; then
disabled_full=true
break
fi
done
if [[ "$disabled_full" == false ]]; then
for t in ${DISABLED_BUTTONS["$COURSE"]}; do
if [[ "$topic_raw" == "$t" ]]; then
disabled_buttons=true
break
fi
done
fi
# Decide card class
card_class="kapitel-card"
if [[ "$disabled_full" == true ]] || [[ "$disabled_buttons" == true ]]; then
card_class="$card_class disabled"
fi
# Build link/button HTML depending on disabled state
if [[ "$disabled_full" == true ]]; then
# non-interactive card (visually dimmed and not clickable)
link_html="
"
slides_html="
Folien"
pdf_html=""
if [[ -f "$BUILD_DIR/$pdf_filename" ]]; then
pdf_html="
PDF"
fi
elif [[ "$disabled_buttons" == true ]]; then
# link stays clickable, but buttons are disabled; card appears dimmed
link_html="
$kapitel_label
$topic
"
slides_html="
Folien"
pdf_html=""
if [[ -f "$BUILD_DIR/$pdf_filename" ]]; then
pdf_html="
PDF"
fi
else
# normal interactive card
pdf_link=""
if [[ -f "$BUILD_DIR/$pdf_filename" ]]; then
pdf_link="
PDF"
fi
link_html="
$kapitel_label
$topic
"
slides_html="
Folien"
pdf_html="$pdf_link"
fi
cat >> "$BUILD_DIR/index.html" << LINK
$link_html
$slides_html
$pdf_html
LINK
done
# Add klausurfolien entry if it exists (disabled — wird noch überarbeitet)
if [[ -f "$BUILD_DIR/klausurfolien.html" ]]; then
pdf_disabled=""
if [[ -f "$BUILD_DIR/klausurfolien.pdf" ]]; then
pdf_disabled="
PDF"
fi
cat >> "$BUILD_DIR/index.html" << KLAUSUR
Prüfung
Klausurrelevante Folien
Folien
$pdf_disabled
KLAUSUR
fi
# Add klausurfragen entry if it exists (disabled — wird noch überarbeitet)
if [[ -f "$BUILD_DIR/klausurfragen.html" ]] || [[ -f "$BUILD_DIR/klausurfragen.pdf" ]]; then
pdf_disabled=""
if [[ -f "$BUILD_DIR/klausurfragen.pdf" ]]; then
pdf_disabled="
PDF"
fi
slides_disabled=""
if [[ -f "$BUILD_DIR/klausurfragen.html" ]]; then
slides_disabled="
Folien"
fi
cat >> "$BUILD_DIR/index.html" << KLAUSURFRAGEN
$slides_disabled
$pdf_disabled
KLAUSURFRAGEN
fi
cat >> "$BUILD_DIR/index.html" << FOOTER