Nouvelle version du projet. Maintenant, ça fait partie d'un ensemble plus grand, nommé textallion.
http://code.google.com/p/textallion/
La génération d'un LDVELH étant similaire à cette d'un livre plus classique. Première partie de la présentation :
Textallion est un projet ayant pour moteur le générateur de documents et la syntaxe txt2tags (
http://www.txt2tags.org). Pourquoi txt2tags ?
- syntaxe simple et intuitive **gras**, //italique//, __souligné__ pour (gras, italique, souligné etc...)
- facilement extensible pour rajouter de nouvelles syntaxes perso ou modifier le comportement par défaut, via le système de pre/postproc.
- utilisation de plusieurs modèles (templates) pour exporter en HTML (ici ramus, ou html normal), ou en TeX (actuellement, LaTex et XeTeX, le rendu est un peu différent, XeTeX permettant plus de choses)
- export possible vers de nombreux formats. Pour le moment seuls TeX donc PDF, et HTML sont utilisés, mais il serait envisageable d'exporter par exemple en RTF, même si cela me semble moins pertinent (on peut toujours importer un html dans openoffice si nécessaire)
Le projet textallion est donc centré sur des règles et des fichiers txt2tags, que l'on appelle en utilisant un makefile.
Des fichiers de modèle HTML, de styles CSS, ainsi que des styles LaTeX (sty) ont été créés pour l'apparence des documents finaux. Ils se trouvent dans le dossier "includes"
Ensuite, on peut imaginer une petite interface permettant d'appeler le makefile avec la bonne option.
Par exemple core/textallion.sh est une petite interface textuelle (bash), permettant de générer un nouveau dossier contenant une amorce de document à éditer ultérieurement, ainsi que les styles de base que l'on peut également personnaliser.
Extension de la syntaxe
On trouve ceci utilisé dans le "moteur" de textallion, core/textallion.t2t
Par exemple pour rajouter une nouvelle syntaxe {-/@-} qui générera une petite feuille aldine de décoration, j'utilise ceci :
%!preproc: '\{-/@-\}' 'CONVERTaldineb'
(avec les caractères d'échappement pour passer les {})
puis :
%!postproc(tex): 'CONVERTaldineb' '\\aldineb'
%!postproc(xhtml): 'CONVERTaldineb' '<div class="center"> ❧ </div>'
Ça va donc scanner le document de l'utilisateur lorsqu'on utilise txt2tags, remplacer en début de processus toutes les occurence de {-/@-} par CONVERTaldineb, puis à la fin de traitement, remplacer de nouveau CONVERTaldineb par le code approprié pour que cela soit adapté en LaTeX ou en HTML
Il serait parfois possible de convertir en une seule passe (avec postproc), mais parfois le code utilisé est interprété par la syntaxe interne de txt2tags, aussi il vaut mieux le faire en 2 fois, comme ici, et c'est également plus lisible, surtout si on veut exporter dans divers formats.
Modèles
Ils se trouvent dans le dossier "templates"
Pour appeler des modèles différents, on utilise de nouvelles entrées dans le makefile, par exemple :
$(TXT2TAGS) -T $(TEXTALLIONFOLDER)/templates/xetex.tex -t tex
ou
$(TXT2TAGS) -T $(TEXTALLIONFOLDER)/templates/latex.tex -t tex
Module LDVELH
Je ne vais pas revenir sur la syntaxe utilisée, tout est normalement dans le manuel.
Pour la création du fichier PDF, il me semble important de pouvoir tout de même cliquer sur les liens hypertextes renvoyant aux chapitres, pour le confort d'utilisation, ce que permet l'export depuis LaTeX.
Pour la lecture à l'écran d'ordinateur, une version HTML sera peut-être plus pratique. Un seul fichier permet d'afficher l'intégralité de l'histoire, les autres chapitres étant cachés.
La version Ramus, utilisant un autre moteur javascript pour l'affichage (effets de transition, défilement...), permet de donner une autre ambiance au jeu (similaire à Undum)
On peut rajouter des images intégrées dans le texte, ainsi que des musiques (et pourquoi pas à terme des vidéos).
On peut également obtenir une version pour ebook (format ePUB), lisible sur smartphones ou lecteurs d'ebooks. C'est basé sur la version HTML, avec quelques ajustements.