Files
mkdocs-etz/mkdocs-to-pdf.sh

56 lines
1.3 KiB
Bash
Raw Normal View History

#!/bin/bash
MKDOCS_DIR="mkdocs/docs"
2025-12-04 08:09:19 +01:00
# 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
2025-12-04 08:09:19 +01:00
echo "Fertig: mkdocs neu gebaut."