#!/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 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 } 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 add_path_to_config $nom_du_livre echo "fichiers du livre $nom_du_livre créé" exit 0