déplacement des fichiers org de modèle et remplacement de placeholders après génération

This commit is contained in:
Tykayn 2024-09-08 22:49:11 +02:00 committed by tykayn
parent 78180bbb00
commit c7383ed6ef
29 changed files with 127 additions and 735 deletions

View file

@ -1,101 +1,60 @@
#!/bin/bash
if [ -z "$1" ]; then
echo "Erreur : Veuillez spécifier un argument." >&2
exit 1
fi
# 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
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";
return "$uuid";
}
livre_bidule=$1 # mettez le bon nom de votre livre
echo "création du dossier de livre: $livre_bidule"
nom_du_livre=$1 # mettez le bon nom de votre livre
echo "création du dossier de livre: $nom_du_livre"
rm -rf "$livre_bidule"
mkdir "$livre_bidule" -p
cp *.py "$livre_bidule"
cp *.sh "$livre_bidule"
cp *.css "$livre_bidule"
cd "$livre_bidule"
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"
mkdir assets inspirations
touch "taches_$livre_bidule.$extension" \
"livre.$extension" "intrigues.$extension" \
"personnages.$extension" "notes_intention.$extension"
git init
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 remplit les fiches avec un contenu de base:
echo ":PROPERTIES:
:ID: $(generate_uuid)
:END:
#+title: livre $livre_bidule
#+AUTHOR: (votre nom)
#+EMAIL: votre@email.com
#+BEGIN_EXPORT epub
:title \"Mon livre\"
:author \"Votre nom\"
:email \"votre@email.com\"
:language \"fr\"
:encoding \"UTF-8\"
:subject \"Littérature\"
:description \"Ceci est un livre écrit en Org-mode\"
:keywords \"Org-mode, livre, électronique\"
:cover \"image/cover.jpg\"
#+END_EXPORT
# On copie le contenu de base à partir du modèle d'example
git init
cd ..
* Livre $livre_bidule :title:
** Préface :title:
** Introduction :title:
** Chapitre 1 :title:
*** Chapitre 1 - Partie 1
*** Chapitre 1 - Partie 2
*** Chapitre 1 - Partie 3
** Chapitre 2 :title:
*** Chapitre 2 - Partie 1
*** Chapitre 2 - Partie 2
*** Chapitre 2 - Partie 3
** Chapitre 3 :title:
*** Chapitre 3 - Partie 1
*** Chapitre 3 - Partie 2
*** Chapitre 3 - Partie 3
** Postface :title:
** Sources :title:
** Du même auteur :title:
" > "livre.$extension"
echo ":PROPERTIES:
:ID: $(generate_uuid)
:END:
#+title: notes d'intention de $livre_bidule
* Notes d'intention
** Thématiques globales
** Sources d'inspiration
" > "notes_intention.$extension"
echo ":PROPERTIES:
:ID: $(generate_uuid)
:END:
#+title: personnages de $livre_bidule
* Personnages
** Principal
- personnalité
- objectifs
** Secondaire
" > "personnages.$extension"
cd ..
ls -l $livre_bidule
echo "fichiers du livre $livre_bidule créé"
# 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