#!/bin/bash

MKDOCS_DIR="mkdocs/docs"

# Einzelne Datei als Parameter übergeben
if [ $# -eq 0 ]; then
  echo "Usage: $0 <pfad/zur/datei.md> [z.B. Linux_Unternehmen/nextcloud-ldap.md]"
  exit 1
fi

md_file="$MKDOCS_DIR/$1"

if [[ ! -f "$md_file" ]]; then
  echo "Fehler: $md_file nicht gefunden!"
  exit 1
fi

echo "Verarbeite einzeln: $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 neu erzeugen
rm -f "$pdf_path"

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

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

echo "Fertig: $pdf_path"

echo "mkdocs wird neu gebaut"

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