44 lines
1.5 KiB
Bash
Executable file
44 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# on créé un répertoire de taff temporaire pour foutre nos fichiers en cours de traitement dedans
|
|
mkdir "${PWD}"/temp/
|
|
|
|
# on cherche récursivement tous les fichiers ".gmi" dans le dossier "content"
|
|
find "${PWD}" -wholename "*.gmi" -type f | while read gmi_file
|
|
do
|
|
|
|
# récupérer la 1ère ligne du fichier .gmi et remplacer "# " par ""
|
|
title="$(sed -n '1{s/# //p}' $gmi_file)"
|
|
|
|
# dans le header.html, remplacer "<\-- TITLE -->" par le titre récupéré
|
|
# puis enregistrer le fichier ainsi modifié dans "temp/header.html"
|
|
sed "s#<\!-- TITLE -->#$title#" "${PWD}"/html/header.html > "${PWD}"/temp/header.html
|
|
|
|
# on génère la date et on la fout dans le footer
|
|
date="$(date)"
|
|
sed "s/GEN_DATE/$date/" "${PWD}"/html/footer.html > "${PWD}"/temp/footer.html
|
|
|
|
# conversion du .gmi en .html
|
|
gmnitohtml < $gmi_file > "${PWD}"/temp/body.html
|
|
|
|
# on récupère juste le path du dossier qui contient le .gmi
|
|
path="$(dirname $gmi_file)"
|
|
# on récupère juste le nom du fichier .gmi sans son extenstion ".gmi"
|
|
filename="$(basename $gmi_file .gmi)"
|
|
|
|
# on assemble les 3 morceaux et on l'écrit dans le dossier du .gmi qui est traité
|
|
cat "${PWD}"/temp/header.html "${PWD}"/temp/body.html "${PWD}"/temp/footer.html > $path/$filename.html
|
|
|
|
# on nettoie le dossier de taff
|
|
rm "${PWD}"/temp/*
|
|
|
|
# je crois c'est bon
|
|
echo "OK: $gmi_file"
|
|
|
|
done
|
|
|
|
# on vire le dossier de taff devenu inutile
|
|
rm -r "${PWD}"/temp/
|
|
|
|
# cette fois c'est vraiment fini
|
|
echo "Done."
|