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,7 +0,0 @@
default: infos
infos:
./up_infos.sh
update:
./update_book.sh $BOOK_TITLE
new:
./generate_book.sh $BOOK_TITLE

View File

@ -0,0 +1,4 @@
:PROPERTIES:
:ID: GENERATE_UUID
:END:
* Intrigues

View File

@ -0,0 +1,38 @@
:PROPERTIES:
:ID: GENERATE_UUID
:END:
#+title: livre example_livre
#+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
* Livre BOOK_TITLE :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:

View File

@ -0,0 +1,9 @@
:PROPERTIES:
:ID: GENERATE_UUID
:END:
#+title: notes d'intention de BOOK_TITLE
* Notes d'intention
** Thématiques globales
** Sources d'inspiration

View File

@ -1,7 +1,7 @@
:PROPERTIES:
:ID: 8aa3fa3c-b897-4c17-9bc1-4ee232e738e1
:ID: GENERATE_UUID
:END:
#+title: personnages de example_livre
#+title: personnages de BOOK_TITLE
* Personnages
** bob
@ -21,4 +21,4 @@
- personnalité:
- objectifs:
- conflits:
- évolution:
- évolution:

View File

@ -0,0 +1,9 @@
:PROPERTIES:
:ID: GENERATE_UUID
:END:
#+title: tâches BOOK_TITLE
* Tâches du livre BOOK_TITLE
** TODO lister les personnages de l'histoire
** TODO Apprendre à générer les statistiques sur le livre dans le README.md
** TODO lire les fichiers d'example

View File

@ -1,60 +0,0 @@
import subprocess
import re
# Fichier Org d'origine
fichier_org = "livre.org"
style_css = "style.css"
# Copie du fichier Org
fichier_org_copie = "livre_org_copie.org"
# Créer une copie du fichier Org
with open(fichier_org, "r") as fichier:
contenu_org = fichier.read()
with open(style_css, "r") as fichier:
contenu_css = fichier.read()
# Compter le nombre de lignes du fichier original
nb_lignes_origine = len(contenu_org.splitlines())
# Supprimer les titres qui ne contiennent pas le tag :title:
contenu_org = re.sub(r"^\*+.*\n", lambda x: x.group() if ":title:" in x.group() else "", contenu_org, flags=re.MULTILINE)
# Effacer toutes les occurences de ":title:"
contenu_org = re.sub(r":title:", "", contenu_org)
# Compter le nombre de lignes du fichier modifié
nb_lignes_modifie = len(contenu_org.splitlines())
# Afficher le nombre de lignes supprimées
nb_lignes_supprimees = nb_lignes_origine - nb_lignes_modifie
print(f"Nombre de lignes supprimées : {nb_lignes_supprimees}")
# Écrire la copie du fichier Org
with open(fichier_org_copie, "w") as fichier:
fichier.write(contenu_org)
print('Convertir la copie du fichier Org en HTML')
# Convertir la copie du fichier Org en HTML
process = subprocess.run(["pandoc", "livre_org_copie.org", "-o", "livre.html"], capture_output=True, text=True)
# Afficher les messages de console du subprocess
print(process.stdout)
print(process.stderr)
# ouvrir le html et insérer le style css
with open("livre.html", "r") as fichier:
contenu_html = fichier.read()
contenu_html = re.sub("</head>", "<style type='text/css' >"+contenu_css+"</style></head>", contenu_org)
with open(fichier_org_copie, "w") as fichier:
fichier.write(contenu_org)
print('Convertir la copie du fichier Org en pdf')
process = subprocess.run(["pandoc", "livre.html", "-o", "livre.pdf"], capture_output=True, text=True)
# Afficher les messages de console du subprocess
print(process.stdout)
print(process.stderr)

View File

@ -1,265 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2024-09-05 jeu. 11:28 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>livre nom_de_mon_livre</title>
<meta name="author" content="(votre nom)" />
<meta name="generator" content="Org Mode" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
body {
max-width: 80vw;
margin: 1rem auto;
}
#table-of-contents{
font-size: 1rem;
border-left: solid 3px;
padding-left: 1rem;
}
#table-of-contents h2{
font-size: 1rem;
text-align:left;
}
.section-number-2{
display:none;
}
.title sub{
font-size: 1em;
margin-left: 0.5ch;
}
.timestamp{
font-weight:700;
color: crimson;
}
h1 {
color: #111;
font-family: 'Open Sans Condensed', sans-serif;
font-size: 64px;
font-weight: 700;
line-height: 64px;
margin: 0 0 0;
padding: 20px 30px;
text-align: center;
text-transform: uppercase;
}
h2 {
color: #111;
font-family: 'Open Sans Condensed', sans-serif;
font-size: 48px;
font-weight: 700;
line-height: 48px;
margin: 0 0 24px;
padding: 0 30px;
text-align: center;
text-transform: uppercase;
}
p {
color: #111;
font-family: 'Calibri', 'Open Sans', sans-serif;
font-size: 1rem;
line-height: 1.5rem;
margin: 0 0 2rem;
/*columns:3;*/
}
a {
color: #990000;
text-decoration: none;
}
a:hover {
text-decoration: underline
}
.date {
color: #111;
display: block;
font-family: 'Open Sans', sans-serif;
font-size: 16px;
position: relative;
text-align: center;
z-index: 1;
background: white;
}
.date:before {
border-top: 1px solid #111;
content: "";
position: absolute;
top: 0rem;
left: 0;
width: 100%;
z-index: -1;
}
.author {
color: #111;
display: block;
font-family: 'Open Sans', sans-serif;
font-size: 16px;
padding-bottom: 38px;
position: relative;
text-align: center;
z-index: 1;
background: white;
}
.author:before {
border-top: 1px solid #111;
content: "";
position: absolute;
top: 0rem;
left: 0;
width: 100%;
z-index: -1;
}
.date span,
.author span {
background: #fdfdfd;
padding: 0 10px;
text-transform: uppercase;
}
.line {
border-top: 1px solid #111;
display: block;
margin-top: 60px;
padding-top: 50px;
position: relative;
}
.read-more {
-moz-border-radius: 50%;
-moz-transition: all 0.2s ease-in-out;
-webkit-border-radius: 50%;
-webkit-transition: all 0.2s ease-in-out;
background: #111;
border-radius: 50%;
border: 10px solid #fdfdfd;
color: #fff;
display: block;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
height: 80px;
line-height: 80px;
margin: -40px 0 0 -40px;
position: absolute;
bottom: 0px;
left: 50%;
text-align: center;
text-transform: uppercase;
width: 80px;
}
.read-more:hover {
background: #990000;
text-decoration: none;
}
.org-src-container{
background: #dedede;
padding:0.5rem;
margin-bottom: 2rem;
}
pre.example{
background: #ccc;
padding: 0.5rem;
margin: 1rem;
}
/*]]>*/-->
</style>
</head>
<body>
<div id="content" class="content">
<h1 class="title">livre nom<sub>de</sub><sub>mon</sub><sub>livre</sub></h1>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgabaee6b">Livre nom<sub>de</sub><sub>mon</sub><sub>livre</sub>&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></a>
<ul>
<li><a href="#orgbebc8c5">Chapitre 1&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></a>
<ul>
<li><a href="#org6b1c73f">scène d'exposition</a></li>
</ul>
</li>
<li><a href="#org6b4bb0f">Chapitre 2&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></a></li>
<li><a href="#org338a36e">Chapitre 3&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orgabaee6b" class="outline-2">
<h2 id="orgabaee6b">Livre nom<sub>de</sub><sub>mon</sub><sub>livre</sub>&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></h2>
<div class="outline-text-2" id="text-orgabaee6b">
</div>
<div id="outline-container-orgbebc8c5" class="outline-3">
<h3 id="orgbebc8c5">Chapitre 1&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></h3>
<div class="outline-text-3" id="text-orgbebc8c5">
</div>
<div id="outline-container-org6b1c73f" class="outline-4">
<h4 id="org6b1c73f">scène d'exposition</h4>
<div class="outline-text-4" id="text-org6b1c73f">
<p>
blah blah
bleh
</p>
<div class="org-src-container">
<pre class="src src-elisp"> <span style="color: #81A1C1;">(</span><span style="color: #81A1C1;">defun</span> <span style="color: #88C0D0;">org-export-as-html</span> <span style="color: #B48EAD;">(</span><span style="color: #8FBCBB;">&amp;optional</span> async<span style="color: #B48EAD;">)</span>
<span style="color: #B48EAD;">(</span><span style="color: #81A1C1;">interactive</span> <span style="color: #A3BE8C;">"P"</span><span style="color: #B48EAD;">)</span>
<span style="color: #B48EAD;">(</span><span style="color: #81A1C1;">let</span> <span style="color: #A3BE8C;">(</span><span style="color: #5D80AE;">(</span>buffer <span style="color: #8FBCBB;">(</span>current-buffer<span style="color: #8FBCBB;">)</span><span style="color: #5D80AE;">)</span>
<span style="color: #5D80AE;">(</span>with-current-buffer buffer
<span style="color: #8FBCBB;">(</span><span style="color: #81A1C1;">let</span> <span style="color: #81A1C1;">(</span><span style="color: #B48EAD;">(</span>title <span style="color: #A3BE8C;">(</span>plist-get <span style="color: #5D80AE;">(</span>org-inbuffer-options<span style="color: #5D80AE;">)</span> <span style="color: #81A1C1;">:title</span><span style="color: #A3BE8C;">)</span><span style="color: #B48EAD;">)</span><span style="color: #81A1C1;">)</span>
<span style="color: #81A1C1;">(</span>org-export-as-html-to-buffer
<span style="color: #B48EAD;">(</span>concat <span style="color: #A3BE8C;">(</span>buffer-file-name<span style="color: #A3BE8C;">)</span> <span style="color: #A3BE8C;">".html"</span><span style="color: #B48EAD;">)</span>
<span style="color: #B48EAD;">(</span>list <span style="color: #81A1C1;">:title</span> title<span style="color: #B48EAD;">)</span>
async<span style="color: #81A1C1;">)</span>
<span style="color: #81A1C1;">(</span>write-file <span style="color: #B48EAD;">(</span>concat <span style="color: #A3BE8C;">(</span>buffer-file-name<span style="color: #A3BE8C;">)</span> <span style="color: #A3BE8C;">".html"</span><span style="color: #B48EAD;">)</span><span style="color: #81A1C1;">)</span><span style="color: #8FBCBB;">)</span><span style="color: #5D80AE;">)</span><span style="color: #A3BE8C;">)</span><span style="color: #B48EAD;">)</span>
<span style="color: #81A1C1;">)</span>
</pre>
</div>
<p>
1111111111111111
</p>
</div>
</div>
</div>
<div id="outline-container-org6b4bb0f" class="outline-3">
<h3 id="org6b4bb0f">Chapitre 2&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></h3>
<div class="outline-text-3" id="text-org6b4bb0f">
<p>
2222222222222
</p>
</div>
</div>
<div id="outline-container-org338a36e" class="outline-3">
<h3 id="org338a36e">Chapitre 3&#xa0;&#xa0;&#xa0;<span class="tag"><span class="title">title</span></span></h3>
<div class="outline-text-3" id="text-org338a36e">
<p>
33333333333333333
</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: (votre nom)</p>
<p class="date">Created: 2024-09-05 jeu. 11:28</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>

View File

@ -1,48 +0,0 @@
:PROPERTIES:
:ID: 1b3c6217-f565-42d9-b16b-db11644f6121
:END:
#+title: livre example_livre
#+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
* Livre nom_de_mon_livre :title:
** préambule du cul
eeeeeeeeeeeeeeeeeeeee préambule du cul eeeeeeeeeeeeeeeeee
ne devrait pas avoir de titre
** Chapitre 0
--------------
là non plus pas de titre à afficher
-------------
** Chapitre 1 :title:
celui là on doit le voir: chapitre 1 au dessus ici.
Dans un monde lointain, il y avait une île mystérieuse où les arbres avaient des feuilles qui brillaient comme des étoiles. Un jeune aventurier nommé Eryndor y arriva un jour, attiré par les légendes de l'île. Il découvrit un temple caché où les dieux anciens avaient laissé des secrets et des pouvoirs magiques.
*** scène d'exposition
blah blah
bleh
Eryndor trouva un cristal qui lui permit de communiquer avec les esprits de la nature. Avec leur aide, il put vaincre les ténèbres qui menaçaient l'île et restaurer la lumière éternelle. L'île fut sauvée et Eryndor devint un héros légendaire.
1111111111111111
** Chapitre 2 :title:
2222222222222
#+begin_comment
ouaish heuuuu
commentaire làààà
#+end_comment
** Chapitre 3 :title:
33333333333333333

View File

@ -1,45 +0,0 @@
:PROPERTIES:
:ID: 1b3c6217-f565-42d9-b16b-db11644f6121
:END:
#+title: livre example_livre
#+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
* Livre nom_de_mon_livre
eeeeeeeeeeeeeeeeeeeee préambule du cul eeeeeeeeeeeeeeeeee
ne devrait pas avoir de titre
--------------
là non plus pas de titre à afficher
-------------
** Chapitre 1
celui là on doit le voir: chapitre 1 au dessus ici.
Dans un monde lointain, il y avait une île mystérieuse où les arbres avaient des feuilles qui brillaient comme des étoiles. Un jeune aventurier nommé Eryndor y arriva un jour, attiré par les légendes de l'île. Il découvrit un temple caché où les dieux anciens avaient laissé des secrets et des pouvoirs magiques.
blah blah
bleh
Eryndor trouva un cristal qui lui permit de communiquer avec les esprits de la nature. Avec leur aide, il put vaincre les ténèbres qui menaçaient l'île et restaurer la lumière éternelle. L'île fut sauvée et Eryndor devint un héros légendaire.
1111111111111111
** Chapitre 2
2222222222222
#+begin_comment
ouaish heuuuu
commentaire làààà
#+end_comment
** Chapitre 3
33333333333333333

View File

@ -1,9 +0,0 @@
:PROPERTIES:
:ID: 0effcaac-f8af-42be-8537-d11f885097a7
:END:
#+title: notes d'intention de example_livre
* Notes d'intention
** Thématiques globales
** Sources d'inspiration

View File

@ -1,20 +0,0 @@
:PROPERTIES:
:ID: 8aa3fa3c-b897-4c17-9bc1-4ee232e738a3
:END:
#+title: personnages de example_livre
* Personnages
** Bob
- nom: Bob l'éponge
- personnalité:
- objectifs:
** Carlo
- nom: Carlo Squidward
- personnalité:
- objectifs:
** Krabs
- nom: Reginald Krabs
- personnalité:
- objectifs:

View File

@ -1,169 +0,0 @@
body {
max-width: 80vw;
margin: 1rem auto;
}
#table-of-contents {
font-size: 1rem;
border-left: solid 3px;
padding-left: 1rem;
}
#table-of-contents h2 {
font-size: 1rem;
text-align: left;
}
.section-number-2 {
display: none;
}
.title sub {
font-size: 1em;
margin-left: 0.5ch;
}
.timestamp {
font-weight: 700;
color: crimson;
}
h1 {
color: #111;
font-family: 'Open Sans Condensed', sans-serif;
font-size: 64px;
font-weight: 700;
line-height: 64px;
margin: 0 0 0;
padding: 20px 30px;
text-align: center;
text-transform: uppercase;
}
h2 {
color: #111;
font-family: 'Open Sans Condensed', sans-serif;
font-size: 48px;
font-weight: 700;
line-height: 48px;
margin: 0 0 24px;
padding: 0 30px;
text-align: center;
text-transform: uppercase;
}
p {
color: #111;
font-family: 'Calibri', 'Open Sans', sans-serif;
font-size: 1rem;
line-height: 1.5rem;
margin: 0 0 2rem;
/*columns:3;*/
}
a {
color: #990000;
text-decoration: none;
}
a:hover {
text-decoration: underline
}
.date {
color: #111;
display: block;
font-family: 'Open Sans', sans-serif;
font-size: 16px;
position: relative;
text-align: center;
z-index: 1;
background: white;
}
.date:before {
border-top: 1px solid #111;
content: "";
position: absolute;
top: 0rem;
left: 0;
width: 100%;
z-index: -1;
}
.author {
color: #111;
display: block;
font-family: 'Open Sans', sans-serif;
font-size: 16px;
padding-bottom: 38px;
position: relative;
text-align: center;
z-index: 1;
background: white;
}
.author:before {
border-top: 1px solid #111;
content: "";
position: absolute;
top: 0rem;
left: 0;
width: 100%;
z-index: -1;
}
.date span,
.author span {
background: #fdfdfd;
padding: 0 10px;
text-transform: uppercase;
}
.line {
border-top: 1px solid #111;
display: block;
margin-top: 60px;
padding-top: 50px;
position: relative;
}
.read-more {
-moz-border-radius: 50%;
-moz-transition: all 0.2s ease-in-out;
-webkit-border-radius: 50%;
-webkit-transition: all 0.2s ease-in-out;
background: #111;
border-radius: 50%;
border: 10px solid #fdfdfd;
color: #fff;
display: block;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
height: 80px;
line-height: 80px;
margin: -40px 0 0 -40px;
position: absolute;
bottom: 0px;
left: 50%;
text-align: center;
text-transform: uppercase;
width: 80px;
}
.read-more:hover {
background: #990000;
text-decoration: none;
}
.org-src-container {
background: #dedede;
padding: 0.5rem;
margin-bottom: 2rem;
}
pre.example {
background: #ccc;
padding: 0.5rem;
margin: 1rem;
}

0
export_script.sh Normal file → Executable file
View File

0
fanzine_generate.sh Normal file → Executable file
View File

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

View File

@ -16,7 +16,7 @@
echo "création du dossier d'illustrations: $nom_illustration"
mkdir -p $dossier_illustrations
cp _models/base_dessin.$extension "$dossier_illustrations/$nom_illustration.$extension"
cp _models/illustrations/base_dessin.$extension "$dossier_illustrations/$nom_illustration.$extension"
date2name -w "$dossier_illustrations/$nom_illustration.$extension"
ls -l $dossier_illustrations

0
git_save.sh Normal file → Executable file
View File

0
install_dependances_ubuntu.sh Normal file → Executable file
View File

View File

@ -1,9 +0,0 @@
:PROPERTIES:
:ID: 0effcaac-f8af-42be-8537-d11f885097a7
:END:
#+title: notes d'intention de example_livre
* Notes d'intention
** Thématiques globales
** Sources d'inspiration

View File

@ -21,7 +21,6 @@ nb_lignes_origine = len(contenu_org.splitlines())
# Supprimer les titres qui ne contiennent pas le tag :title:
contenu_org = re.sub(r"^\*+.*\n", lambda x: x.group() if ":title:" in x.group() else "", contenu_org, flags=re.MULTILINE)
# Effacer toutes les occurences de ":title:"
contenu_org = re.sub(r":title:", "", contenu_org)

0
table_des_matieres.sh Normal file → Executable file
View File

View File

@ -1,4 +0,0 @@
* Tâches à faire pour le livre
** TODO lister les personnages de l'histoire
** TODO Apprendre à générer les statistiques sur le livre dans le README.md
** TODO lire les fichiers d'example

View File

@ -7,11 +7,21 @@ echo "mise à jour du dossier $1 sans modifier les contenus Org"
dossier=$1
cp *.py "$dossier/"
cp *.sh "$dossier/"
cp *.css "$dossier/"
cp README.md "$dossier/"
cp LICENSE "$dossier/"
cp Makefile "$dossier/"
if ! [ -d $dossier ]; then
echo "le dossier $dossier n'existe pas, oh noes!"
else
cp *.py "$dossier/"
cp *.sh "$dossier/"
cp *.css "$dossier/"
cp README.md "$dossier/"
cp LICENSE "$dossier/"
if ! [ -d $dossier/.git ]; then
cd $dossier
git init
fi
fi
echo "dossier $dossier mis à jour"

0
variables.sh Normal file → Executable file
View File