genlog/genlog.sh

53 lines
1.7 KiB
Bash
Raw Normal View History

2022-03-12 01:00:58 +01:00
#!/bin/bash
# on créé un répertoire de taff temporaire pour foutre nos fichiers en cours de traitement dedans
2022-04-13 23:35:38 +02:00
tempdir="$(mktemp -d)"
2022-03-12 01:00:58 +01:00
2022-05-06 21:59:45 +02:00
# on vérifie s'il y a un argument passé à notre script
2022-05-06 22:19:18 +02:00
if [ -n "$1" ]
2022-05-06 21:59:45 +02:00
then
# si oui, on l'utilise comme path ou aller taffer
source_path="$1"
else
# sinon on utilise le dossier "content"
source_path="${PWD}"/content
fi
# on cherche récursivement tous les fichiers ".gmi" dans le dossier de taff
find "$source_path" -wholename "*.gmi" -type f | while read -r gmi_file
2022-03-12 01:00:58 +01:00
do
# récupérer la 1ère ligne du fichier .gmi et remplacer "# " par ""
2022-04-13 23:36:52 +02:00
title="$(sed -n '1{s/# //p}' "$gmi_file")"
2022-03-12 01:00:58 +01:00
# dans le header.html, remplacer "<\-- TITLE -->" par le titre récupéré
# puis enregistrer le fichier ainsi modifié dans "temp/header.html"
2022-04-13 23:35:38 +02:00
sed "s#<\!-- TITLE -->#$title#" "${PWD}"/html/header.html > "$tempdir/header.html"
2022-03-12 01:00:58 +01:00
# on génère la date et on la fout dans le footer
2022-03-12 02:24:50 +01:00
date="$(date)"
2022-04-13 23:35:38 +02:00
sed "s/GEN_DATE/$date/" "${PWD}"/html/footer.html > "$tempdir/footer.html"
2022-03-12 01:00:58 +01:00
# conversion du .gmi en .html
2022-04-13 23:36:52 +02:00
gmnitohtml < "$gmi_file" > "$tempdir/body.html"
2022-03-12 01:00:58 +01:00
# on récupère juste le path du dossier qui contient le .gmi
2022-04-13 23:36:52 +02:00
path="$(dirname "$gmi_file")"
# on récupère juste le nom du fichier .gmi sans son extenstion ".gmi"
2022-04-13 23:36:52 +02:00
filename="$(basename "$gmi_file" .gmi)"
2022-03-12 01:00:58 +01:00
# on assemble les 3 morceaux et on l'écrit dans le dossier du .gmi qui est traité
2022-04-13 23:36:52 +02:00
cat "$tempdir/header.html" "$tempdir/body.html" "$tempdir/footer.html" > "$path/$filename.html"
2022-03-12 01:00:58 +01:00
# je crois c'est bon
2022-05-06 22:27:41 +02:00
echo "OK: $title"
echo "$gmi_file"
2022-03-12 01:00:58 +01:00
done
# on vire le dossier de taff devenu inutile
2022-05-06 22:40:08 +02:00
rmdir "$tempdir"
2022-03-12 01:00:58 +01:00
# cette fois c'est vraiment fini
2022-03-12 01:00:58 +01:00
echo "Done."