#!/bin/bash

MKDOCS_DIR="mkdocs/docs"

find "$MKDOCS_DIR" -name "*.md" | while read -r md_file; do
  # Überspringe index.md
  if [[ "$(basename "$md_file")" == "index.md" ]]; then
    echo "Überspringe: $md_file"
    continue
  fi

  echo "Verarbeite: $md_file"

  base_name=$(basename "$md_file" .md | tr ' ' '_')
  dir_name=$(dirname "$md_file")

  pdf_path="${dir_name}/${base_name}.pdf"
  pdf_link="\n\n[PDF herunterladen](${base_name}.pdf){ .md-button }"

  # PDF immer neu erzeugen
  rm -f "$pdf_path"
  
  # Temp MD nur für MkDocs-Syntax bereinigen
  temp_md="${dir_name}/temp_${base_name}.md"
  sed 's/{[^}]*}//g; s/^[ \t]*{[^}]*}$//gm' "$md_file" > "$temp_md"
  
  # **Working directory = Markdown-Verzeichnis** für korrekte Bildpfade!
  md_dir=$(dirname "$md_file")
  
  docker run --rm \
    --volume "$(pwd)":/data \
    --user $(id -u):$(id -g) \
    --workdir "/data/$md_dir" \
    pandoc/extra \
    "./$(basename "$md_file")" \
    -o "./${base_name}.pdf" \
    --template /data/eisvogel.latex \
    --syntax-highlighting=idiomatic

  # Temp Dateien löschen
  rm -f "$temp_md"
  
  echo "  → PDF erstellt: $pdf_path"

  # PDF-Link nur einmal hinzufügen
  if ! tail -n 10 "$md_file" | grep -q "PDF herunterladen"; then
    echo -e "$pdf_link" >> "$md_file"
    echo "  → PDF-Link hinzugefügt"
  else
    echo "  → PDF-Link bereits vorhanden"
  fi
done

# MkDocs neu bauen
docker compose -f ./docker-compose.yml run --rm mkdocs build
docker compose -f ./docker-compose.yml restart mkdocs
echo "Fertig: mkdocs neu gebaut."
