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

47 lines
1.2 KiB
Bash
Raw Normal View History

#!/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 }"
rm -f "$pdf_path"
docker run --rm \
--volume "$(pwd)":/data \
--user $(id -u):$(id -g) \
pandoc/extra \
"/data/$md_file" \
-o "/data/$pdf_path" \
--template eisvogel \
--lua-filter=/data/process_comments.lua \
--syntax-highlighting=idiomatic
# PDF-Link nur anhängen wenn noch nicht vorhanden
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
echo "Fertig: PDF Dateien erstellt und Links aktualisiert."
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."