From c76a7f376b18a19b26dace5585b5912eca0683b3 Mon Sep 17 00:00:00 2001 From: Kilian Koeltzsch Date: Wed, 13 Mar 2024 18:59:33 +0100 Subject: [PATCH] add vesala's script --- md2html.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 md2html.sh diff --git a/md2html.sh b/md2html.sh new file mode 100644 index 0000000..1e88517 --- /dev/null +++ b/md2html.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# Wir erstellen mal lieber ne Kopie mit der wir arbeiten +mach_ma_lieber_eine_kopie() { + local filename="$1" + local timestamp=$(date +"%Y%m%d%H%M%S") + local backup_markdown_file="${filename}.${timestamp}.bak" + cp "$filename" "$backup_markdown_file" + echo "$backup_markdown_file" +} + +# Frage nach dem Dateinamen der Markdown-Datei und speichere ihn in markdown_file +if [ $# -eq 1 ]; then + markdown_file=$1 +else + read -p "nac gib den Dateinamen der Markdown-Datei ein: " markdown_file +fi + +# Überprüfe, ob die Markdown-Datei existiert +if [ ! -f "$markdown_file" ]; then + echo "Die Markdown-Datei '$markdown_file' existiert nicht." + exit 1 +fi + +# Kopie der Original Markdown Datei erstellen und damit weiterarbeiten +backup_markdown_file=$(mach_ma_lieber_eine_kopie "$markdown_file") + +# Erstelle das Verzeichnis, falls es noch nicht existiert +mkdir -p img +# Durchsuche die Markdown-Datei nach Bild-URLs und speichere sie in urls +urls=$(grep -oE 'https?://[^)]+\.(png|jpg|jpeg|gif|webp)' "$backup_markdown_file") +# Durchlaufe alle gefundenen URLs +for url in $urls; do + # Extrahiere den Dateinamen aus der URL und speichere ihn in filename + filename=$(basename "$url") + # Lade die Datei herunter und speichere sie im 'img'-Verzeichnis + curl -o "img/$filename" -L "$url" + # Ersetze die URL im Markdown-File durch den lokalen Dateipfad + local_filepath="img/$filename" + sed -i "s|$url|$local_filepath|g" "$backup_markdown_file" +done +echo "Alle Mediendateien wurden heruntergeladen und die Pfadangaben in der Markdown-Datei wurden aktualisiert." + +echo "Erstelle Offline HTML Slides" +reveal-md "$backup_markdown_file" --static "${markdown_file%.*}-slides" --static-dirs=img/ +echo "Done... html/" + +# Kopiere Bilder die reveal-md nicht sauber übernommen hat (img tag im md Dokument +#cp -r "img/" "html/" + +# Benenne mal besser die von reveal-md mit übernommene md Datei wieder um +mv "${markdown_file%.*}-slides/$backup_markdown_file" "${markdown_file%.*}-slides/$markdown_file"