Aller au contenu

Les chapitres

Pour chacun de vos chapitres, vous aurez à créer un document.

Ce document utilise une structure spécifique que nous allons voir ensemble.

Anatomie d'un fichier de chapitre

Chaque chapitre est contenu dans un fichier avec l'extension .poly.pm.

Ce fichier contient une succession d'instructions qui permettent de convertir votre texte dans les différents formats d'export proposés par Fabrilivre.

Le fichier est subdivisé essentiellement en deux parties : le préambule et le corps.

Préambule

Le prĂ©ambule constitue la premiĂšre partie d'un fichier de chapitre. Il contient des mĂ©tadonnĂ©es, c'est-Ă -dire, des informations au sujet du chapitre, mais pas son contenu lui-mĂȘme.

Voici ce qu'un document doit contenir au minimum :

pollen
#lang pollen

◊(define-meta title "Votre titre de chapitre")

— Euh
 C’est tout ?

Oui ! C’est tout ! Le reste, c’est Ă  vous de dĂ©cider ce que vous voulez mettre.

Exemple annoté de préambule
#lang pollen ; (1)!

◊(define-meta rĂ©vision "1"); (2)!
◊(define-meta title "Chapitre 1"); (3)!
  1. Toujours mettre cette ligne au début du fichier.
  2. Numéro de révision.
  3. Nom du chapitre.

Info

Vous pouvez prendre connaissance de la liste des métadonnées existantes ici : Référence des métadonnées.

Corps

Juste aprĂšs le prĂ©ambule du chapitre vient son corps. C'est lĂ  oĂč se trouve le vrai contenu qui est visible en lecture.

Voyons un exemple de corps :

Exemple annoté de corps
◊livre-chapitre-titre{Chapitre 1}; (1)!

◊livre-chapitre-corps{Bonjour, voici le dĂ©but de ce chapitre.

Pour créer un paragraphe, vous devez faire deux retours à la ligne.}; (2)!

◊livre-chapitre-corps-separateur{}; (3)!

◊livre-chapitre-corps{Suite du chapitre...}; (4)!

◊livre-chapitre-corps-separateur{***}; (5)!

◊livre-chapitre-corps{Fin du chapitre.}
  1. livre-chapitre-titre : C'est le nom du chapitre tel qu'affiché dans le corps de la page web. Vous pouvez mettre quelque chose de différent de la valeur meta title. Vous pouvez aussi mettre une valeur vide si vous ne souhaitez pas qu'un titre apparaisse.
  2. livre-chapitre-corps : Contient du corps de texte. C'est la balise principale qui contient la majeure partie de la narration et des dialogues. Il peut y en avoir plusieurs dans un mĂȘme chapitre.
  3. livre-chapitre-corps-separateur : SĂ©parateur de corps de texte. C'est ce qui sĂ©pare le texte avec des astĂ©risques, et c'est ce qui est conseillĂ© d'utiliser au lieu de faire des retours Ă  la ligne. Ce sĂ©parateur utilise le caractĂšre ⁂ (ASTERISM). Il s'agit de la valeur par dĂ©faut lorsqu'aucune valeur n'est mise entre les accolades. Cette valeur par dĂ©faut peut ĂȘtre remplacĂ©e dans le code source de Fabrilivre (fichier livre-chapitre-corps-separateur.rkt).
  4. Autre partie de corps de texte.
  5. Séparateur de corps de texte. Dans ce cas, vous aurez *** en tant que séparateur.

— C’est quoi ◊livre-chapitre-titre et ◊livre-chapitre-corps ?

C’est ce que nous appellerons des balises.

Elles encapsulent du texte pour leur donner un sens, une intention. ◊livre-chapitre-titre permet par exemple à Fabrilivre de savoir que l’on veut afficher un titre du chapitre. ◊livre-chapitre-corps marque un passage avec du corps de texte principal ; c’est ce que vous utiliserez quasiment tout le temps normalement (sauf s’il n’y a pas de texte dans votre roman
).

Attention

Une erreur de syntaxe dans l'écriture d'une balise peut provoquer des erreurs ou des résultats inattendus.

Info

Vous pouvez prendre connaissance de la liste des balises existantes ici : Référence des balises.

Support du Markdown

Vous avez Ă©galement thĂ©oriquement la possibilitĂ© d’utiliser du markdown pour le contenu, mais vous limiterez les fonctionnalitĂ©s notamment pour l’export HTML. Vous pouvez aller sur la documentation (en anglais) de Pollen pour avoir un aperçu du fonctionnement : https://docs.racket-lang.org/pollen/second-tutorial.html.

Chapitre complet

Pour obtenir le chapitre complet, il suffit d'avoir le préambule et le corps à la suite.

Exemple complet
#lang pollen

◊(define-meta rĂ©vision "1")
◊(define-meta title "Chapitre 1")
◊livre-chapitre-titre{Chapitre 1}

◊livre-chapitre-corps{DĂ©but du chapitre...}

◊livre-chapitre-corps-separateur{}

◊livre-chapitre-corps{Suite du chapitre...}

◊livre-chapitre-corps-separateur{***}

◊livre-chapitre-corps{Fin du chapitre.}

Chapitre de démonstration

Un chapitre de démonstration est disponible dans le fichier demo.poly.pm. Il contient divers exemples courants d'utilisation de Fabrilivre.

Gérer la navigation des chapitres

Une fois que le document est prĂȘt, il faut l’inclure dans une liste. Cette liste permet de relier les chapitres, de crĂ©er la navigation. Le fichier qui contient cette liste est diffĂ©rent pour chaque format d’export, car l’expĂ©rience a dĂ©montrĂ© que les diffĂ©rents exports n’incorporaient pas forcĂ©ment les mĂȘmes chapitres et contenus.

La gestion des chapitres se fait au niveau de ces fichiers :

  • Export web/HTML : index.ptree
  • Export EPUB : epub/index_epub_text.ptree
  • Export LuaLaTeX : latex/modele.tex

Suite de la documentation

Pour la suite de la documentation, nous allons voir comment générer les fichiers pour les visualiser dans le format web.

Poursuivez la lecture en allant ici : Bases de la génération de fichier.