book_generator/generate_book.sh

61 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Crée un dossier de livre selon un nom spécifié, et y ajoute les contenus de fichiers selon le modèle.
if [ -z "$1" ]; then
echo "Erreur : Veuillez spécifier un argument et mettez le entre guillemets si le titre contient plus d'un mot et au moins un espace." >&2
exit 1
fi
if [ -z "$2" ]; then
echo "Extension de fichiers générés au format org." >&2
extension="org" # ou md
fi
function generate_uuid() {
uuid=$(cat /proc/sys/kernel/random/uuid)
echo "$uuid";
return "$uuid";
}
nom_du_livre=$1 # mettez le bon nom de votre livre
echo "création du dossier de livre: $nom_du_livre"
rm -rf "$nom_du_livre"
mkdir "$nom_du_livre" -p
cp *.py "$nom_du_livre"
cp *.sh "$nom_du_livre"
cp *.css "$nom_du_livre"
cp *.md "$nom_du_livre"
cp -r _models/example_livre/*.org $nom_du_livre
cd "$nom_du_livre"
# changements dans le dossier du nouveau livre
mkdir assets inspirations
touch "taches_$nom_du_livre.$extension" \
"livre.$extension" "intrigues.$extension" \
"personnages.$extension" "notes_intention.$extension"
# On copie le contenu de base à partir du modèle d'example
git init
cd ..
# remplacement des placeholders d'example
uuidgen | xargs -I{} sed -i 's|GENERATE_UUID|{}|g' $nom_du_livre/livre.org
uuidgen | xargs -I{} sed -i 's|GENERATE_UUID|{}|g' $nom_du_livre/notes_intention.org
uuidgen | xargs -I{} sed -i 's|GENERATE_UUID|{}|g' $nom_du_livre/personnages.org
uuidgen | xargs -I{} sed -i 's|GENERATE_UUID|{}|g' $nom_du_livre/intrigues.org
uuidgen | xargs -I{} sed -i 's|GENERATE_UUID|{}|g' $nom_du_livre/taches_$nom_du_livre.org
echo $nom_du_livre | xargs -I{} sed -i 's|BOOK_TITLE|{}|g' $nom_du_livre/livre.org
echo $nom_du_livre | xargs -I{} sed -i 's|BOOK_TITLE|{}|g' $nom_du_livre/notes_intention.org
echo $nom_du_livre | xargs -I{} sed -i 's|BOOK_TITLE|{}|g' $nom_du_livre/personnages.org
echo $nom_du_livre | xargs -I{} sed -i 's|BOOK_TITLE|{}|g' $nom_du_livre/intrigues.org
echo $nom_du_livre | xargs -I{} sed -i 's|BOOK_TITLE|{}|g' $nom_du_livre/taches_$nom_du_livre.org
exa -l $nom_du_livre
echo "fichiers du livre $nom_du_livre créé"
exit 0