Ce générateur permet de créer des dossiers dédiés à la rédaction de livres et vise une utilisation avec votre éditeur favori de simples fichiers textes au format orgmode ou markdown.
Vos écrits, vos données dans un format simple et libre.
Il vous permet de structurer votre récit en plusieurs documents, et de récolter des informations sur votre rédaction avec quelques scripts python.
Les fichiers orgmode générés disposent d'un identifiant unique généré aléatoirement afin d'être utilisable avec org-roam et d'autres gestionnaires de wiki personnel.
Après avoir installé les dépendances, vous pouvez générer un dossier de nouveau livre. Attention, la génération d'un dossier supprime celui qui existait précédemment.
Celui ci contiendra différents fichiers orgmode ou markdown avec une copie des scripts présents ici afin de pouvoir rendre le travail sur le livre transportable.
`bash generate_book.sh le_nom_du_livre`
Et hop, vous obtenez un sous dossier `le_nom_du_livre` qui contient de quoi faire avancer votre histoire.
J'ai rédigé un article de blog pour donner des conseils sur la rédaction d'une histoire à partir de ce que j'ai appris durant mes études d'art : https://tykayn.fr/2024/ecrire-une-histoire-et-ses-personnages-toute-une-aventure
Afin d'avoir une structure qui aura visuellement du sens pour l'autrice du livre, seuls les titres ayant un tag :title: seront rendus lors de l'export. Cela permet de sectionner les étapes de l'histoire sans afficher ces titres de sections dans le livre final.
Votre livre peut contenir des médias, nous vous invitons à les placer dans le dossier "assets".
Le dossier "inspirations" est destiné à avoir des images, des médias, des documents divers, une bibliographie, c'est toujours utile de référencer ses inspirations pour clarifier ce que l'on aimerait raconter.
Les intrigues sont des arcs narratifs qui peuvent se superposer dans votre histoire.
Pour avoir cette vision des superpositions, le script `make_intrigues_to_csv.py` liste les entêtes et recherche si elles contiennent deux nombres séparés par un tiret.
Indique que l'on souhaite que cette intrigue débute dans la partie 4 et se termine dans la partie 9.
Sans information de numérotation, on part du principe qu'une intrigue dure 1 partie de l'histoire, dans l'ordre des intrigues.
Pour rester simples, ce générateur ne propose pas de drag and drop pour modifier ces informations. Les contributions au code pour simplifier cela sont bienvenues ;)
Le générateur propose deux types de visualisations pour mieux comprendre la structure de votre histoire:
#### Diagramme de Gantt
Le script `gantt_parser.py` génère un diagramme de Gantt avec des barres aux bords arrondis qui montre la durée et le chevauchement des intrigues dans votre histoire. Ce diagramme est exporté en formats PNG et SVG.
Pour générer le diagramme:
```bash
python gantt_parser.py
```
#### Graphique en réseau
Le script `network_graph.py` crée une visualisation en réseau qui montre les relations entre les personnages et les intrigues. Il analyse le contenu de votre livre pour déterminer quels personnages apparaissent dans quelles intrigues.
Pour générer le graphique en réseau:
```bash
python network_graph.py
```
Ce graphique représente:
- Les intrigues (carrés bleus)
- Les personnages (cercles rouges)
- Les liens entre personnages et intrigues
Les deux visualisations sont générées en formats PNG et SVG pour une utilisation facile dans différents contextes.
Décrit les thématiques que vous souhaitez aborder et ce que vous souhaitez exprimer, c'est un pense bête pour ne pas oublier une vue très macroscopique de ce que vous souhaitez faire avec votre livre.
# Les scripts
Permettent de transformer votre livre en produit distribuable: ebook, html, pdf, mais aussi d'avoir une meilleure vue sur votre livre avec un tableau listant automatiquement les occurences de vos personnages trouvés dans chaque chapitre ainsi qu'un diagramme montrant les superpositions d'intrigues. Voir pour cela les descriptions dans `À quoi servent les différents fichiers`
Ce dépot évolue, pour profiter de ses évolutions il vous suffit de copier les scripts dans le dossier de votre livre.
`bash update_book.sh nom_du_dossier_livre`
# Tâches personnelles
On utilise par défaut des fichiers Orgmode, alors n'oublions pas de jeter un oeil à ce que l'on pourrait faire avec ce fichier `taches_nom_de_mon_livre.org`. à commencer par l'ajouter à sa liste de fichiers dans son agenda personnel.
Le script `stats_chapitres.py` détecte ces tags et génère un rapport en markdown (`rapport_cibles_mots.md`) qui indique pour chaque chapitre si la cible de mots est atteinte. Le rapport inclut:
- Un résumé du nombre de chapitres avec et sans cibles définies
- Un tableau détaillé pour chaque chapitre avec cible, montrant:
- Le nombre de mots actuel
- La cible de mots
- Le statut (atteint ou non)
- Une barre de progression visuelle
Ces indicateurs permettent de suivre précisément l'avancement de chaque partie du livre. Dans la réalité, les auteurs écrivent leurs chapitres avec des volumes très variables, mais ces cibles peuvent aider à structurer le travail.
Le script `follow_progress.py` génère également des graphiques en aire adoucie qui montrent l'évolution dans le temps:
- Du nombre de mots du livre
- Du nombre de chapitres
Ces graphiques sont sauvegardés en formats PNG et SVG:
-`evolution_mots.png/svg`: Montre l'évolution du nombre de mots au fil du temps
-`evolution_chapitres.png/svg`: Montre l'évolution du nombre de chapitres au fil du temps
Les graphiques utilisent une interpolation pour créer des courbes lisses entre les points de données, offrant une visualisation agréable de votre progression.