book_generator/generate_book.sh

80 lines
2.7 KiB
Bash
Raw Permalink Normal View History

2024-09-06 11:47:54 +02:00
#!/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
2024-09-06 11:47:54 +02:00
add_path_to_config() {
local path=$1
local config_file="config/books_path.txt"
if [ -f "$config_file" ]; then
if grep -q "^${path}$" "$config_file"; then
echo "Le chemin '${path}' existe déjà dans le fichier de configuration."
else
echo "$(pwd)/$path" >> "$config_file"
echo "Le chemin '${path}' a été ajouté au fichier de configuration."
fi
else
echo "Le fichier de configuration '${config_file}' n'existe pas."
touch $config_file
fi
}
2024-09-06 11:47:54 +02:00
function generate_uuid() {
uuid=$(cat /proc/sys/kernel/random/uuid)
echo "$uuid";
return "$uuid";
2024-09-06 11:47:54 +02:00
}
nom_du_livre=$1 # mettez le bon nom de votre livre
echo "création du dossier de livre: $nom_du_livre"
2024-09-06 11:47:54 +02:00
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
add_path_to_config $nom_du_livre
echo "fichiers du livre $nom_du_livre créé"
exit 0