#!/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."