• [^] # Re: Des styles ! Des systèmes de documentation automatique !

    Posté par . En réponse à la dépêche Utroff : la renaissance de Troff. Évalué à 2.

    Bon, ça avance un peu.

    J'ai rajouté un modèle de base pour l'exportation vers utroff depuis txt2tags sur
    https://code.google.com/p/txt2tags/source/detail?r=1173

    J'ai essayé de rajouter la syntaxe que j'ai pu (titre 1, titre 2, gras, italique etc). Je bloque sur le souligné ainsi que le barré (strike). J'ai consulté la doc de heirloom, mais les diverses syntaxes que j'ai testées (pour underline .ul .uf, pour strike \o) ne m'ont pas aidé à ce niveau, dans utroff. Je m'y perd un peu entre les déclarations avec un point et les autres avec un anti-slash.

    C'est pas vraiment évident dans (t)roff de savoir quel est le socle commun entre différentes macros, et voir ce qui diffère.

    Je bloque aussi pour du gras + italique, il y a une balise spéciale dans utroff, alors qu'en txt2tags, latex, html etc, on peut les emboîter.
    (au pire des cas on peut utiliser le préprocesseur de txt2tags pour interpréter '**//' comme du '*(BI') mais ce n'est pas une solution idéale puisqu'il faudra le renseigner sur chaque document)

    Si tu veux contribuer à cet export, il suffit de récupérer le code sur le svn indiqué plus haut, et de modifier le fichier

    /trunk/targets/utroff.py

    en suivant les noms des balises. J'ai copié le modèle pour les pages de man, pensant que c'était ce qui se rapprochait le plus d'utroff.

    Il manque quelques balises, tu en trouveras plus dans le modèle du html si nécessaire : /trunk/targets/html.py

    Ensuite pour tester le rendu, la génération du fichier utroff se fera ainsi :

    ./txt2tagslite -t utroff samples/sample.t2t
    

    et ça générera un fichier nommé samples/sample.utroff

    En extension, j'ai préféré garder le suffixe complet .utroff que .tr, qui pourrait être pris pour une autre variante de troff.

    Historiquement, le programme est /trunk/txt2tags, mais comme il y a une migration vers une version plus modulaire, il est conseillé de travailler uniquement avec targets/utroff.py et txt2tagslite

    Je réintègrerai ensuite ton travail dans le fichier complet txt2tags, puis sur le svn si tu envoies un patch

    bon courage :)

    « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond