Txt2tags 2.6 est arrivé !

Le voilà enfin, après plus de deux ans d’attente, txt2tags 2.6 est arrivé !

Txt2tags est un langage de markup, c’est-à-dire qu’il utilise une syntaxe non-obstrusive pour signifier les propriétés des éléments de texte, une syntaxe wiki en plus puissante. Mais à la différence des wiki qui ne génèrent que du HTML, txt2tags permet, à partir du même fichier source, de générer pas moins de 18 formats différents (appelés target) : HTML, XHTML, SGML, DocBook (NEW), LaTeX, Lout, Man page, Creole (NEW), Wikipedia / MediaWiki, Google Code Wiki, PmWiki (NEW), DokuWiki, MoinMoin, MagicPoint, PageMaker, AsciiDoc (NEW), ASCII Art (NEW) et Plain text.

J’ai commencé à m’investir dans txt2tags car je suis convaincu que le modèle de bureautique WYSIWYG actuel, promu par des usines à gaz mastodontiques, fussent-elles libres comme LibreOffice, est une véritable impasse. Par chance, les principaux logiciels intéressants dans ce domaine (txt2tags, docutils/ReST et AsciiDoc), sont écrits en Python, mon langage de programmation de prédilection.

Si j’ai choisi txt2tags c’est parce que c’était le code le plus simple à modifier pour faire les expérimentations qui m’intéressaient. Et puis Aurélio Jargas, le principal développeur, a ouvert son développement anciennement très solitaire/centralisé grâce au site Google Code. Il m’a donné les droits de commit SVN à la seconde où je l’ai contacté. Ce très bon feeling humain s’est poursuivi et a permis une collaboration technique, puisque si j’ai eu pas mal d’idées et que je les ai implémentées fonctionnelles et non buggées, Aurélio a fait un sacré travail derrière pour que l’intégration de mes modifications fassent moins « hack ».

Mon traditionnel et important point de juriste 🙂 : txt2tags est sous licence GNU GPLv2, qui est soumise à un Copyleft fort, ce qui garantit la liberté éternelle de mon travail. Bien qu’un relativement petit projet en terme de nombre de lignes de code, la communauté autour de txt2tags est grande et mondiale, et il est donc localisé dans plus d’une dizaine de langues (chaînes de caractères dans le code ET documentation) !

Beaucoup de nouvelles fonctionnalités dans cette version 2.6, dont ma nouvelle target ASCII Art sur laquelle je reviendrai plus en détail, mon set markItUp! pour une utilisation aisée sur le web, la possibilité d’inclure des tableaux de fichiers CSV externes, et un nom de domaine txt2tags.org, pour donner plus de visibilité au site web.

Je suis très heureux et très fier de pouvoir faire cette annonce, car cela fait pas loin de deux ans que je me suis engagé dans ce projet, et que cette release permet de rendre accessible au grand public ma première contribution significative aux logiciels libres !

Tags: , ,

17 Responses to “Txt2tags 2.6 est arrivé !”

  1. patrick_g dit :

    Par rapport à Markdown quels sont les avantages/inconvénients/différences ?

    • fgallaire dit :

      Dans l’idée c’est pareil, sauf que Markdown ne génère que du HTML.

      • Desidia dit :

        C’est un peu restrictif quand même…

        Markdown est plutôt une syntaxe de balisage, avec plusieurs implémentations, en différents langages (C, python, ruby, perl…), pour l’interpréter et la convertir en html, en latex, en groff, etc.

        À mon sens, c’est Pandoc la plus pratique.

        Mais ce serait dommage de commencer à lancer des trolls sur les avantages respectifs des langages à balisage léger; le principe est fondamentalement excellent, à chacun de choisir selon ses affinités.

        Il est vrai que tant qu’un système n’est pas devenu celui de référence, ce choix est un peu un pari, on ne peut être sûr de sa pérennité…

        Bonne chance dans tes projets

        • fgallaire dit :

          Oui, j’ai un peu abusivement assimilé la syntaxe Markdown et ses multiples implémentations… cependant la majorité d’entre elles ne génèrent que du HTML. Pandoc est un peu l’exception, et tout à fait excellente, mais je ne suis pas (encore ?) un jedi du Haskell 🙂 pour y contribuer facilement.

          Il se trouve qu’en plus des avantages déjà cités, txt2tags a aussi la syntaxe qui me plait le plus : //italique//, **gras**, __souligné__ et –barré–, ça m’est juste apparu comme une évidence plutôt que le très courant *italique* et **gras**.

          Je pense que docutils va se dégager comme un standard, surtout qu’il sert de base au superbe Sphinx, qui a un grand succès tout à fait mérité. Mais sa syntaxe ReST est un peu lourde, et je pense qu’il y a une place pour un outil plus léger comme Txt2tags.

          • farvardin dit :

            Effectivement comme il a été remarqué plus haut, Markdown est un peu considéré comme étant la référence dans le créneau des syntaxes à balisage léger, un peu d’ailleurs comme l’iPhone est la référence des smartphones ou Windows la référence des OS de bureau.

            Oui, continuons allègrement dans le troll… mais chaque référence à txt2tags conduit immanquablement à ce que quelqu’un demande ensuite « mais il y a quoi de mieux que markdown, ReST et compagnie votre nouveau truc ? », alors que :
            – txt2tags est bien plus vieux que la plupart (9 ans d’existence et de développement continuel)
            – et n’ayons pas peur des mots, bien plus puissant (pre et post proc, macros)
            – tout en étant plus riche (plus d’expressivité, avec __soulignement__ et mots –barrés– par exemple)
            – et plus simple finalement : dans le système X, *mot* c’est pour mettre en italique ou en gras déjà ? Le soulignement avec ——- c’est pour un titre de niveau 1 ou 2 ? Les symboles utilisés pour la syntaxe de txt2tags expriment réellement ce à quoi ressemblera le texte final.

            Je crois qu’en toute objectivité, le grand avantage de markdown c’est d’avoir pu dès le départ avoir une implémentation php qui lui a permis de se démocratiser rapidement (oserais-je employer le mot « proliférer » ? 😉 ), on trouve en effet plus facilement des serveurs avec php qu’avec python, et c’est plus facile de l’interfacer de ce fait avec des projets web existant, déjà écrits en php.

            Le mieux pour se rendre compte des avantages et inconvénients de txt2tags, c’est avant tout de l’utiliser et le tester ! (et pas forcément uniquement de faire confiance aux zélateurs txt2tags comme moi, mais si vous utilisez un OS basé sur linux vous savez ce que c’est que de voir un bon système qui n’est pas utilisé à sa juste valeur 🙂 )

  2. […] This post was mentioned on Twitter by Mickael Brangeon, Planet-Libre and Linux FR, Debian. Debian said: Florent Gallaire: Txt2tags 2.6 est arrivé !: Le voilà enfin, après plus de deux ans d’attente, txt2tags 2.6 est … http://bit.ly/ay3jWQ […]

  3. fredg dit :

    Salut,

    J’ai toujours adoré ce soft au niveau perso, de plus txt2tags nous sert aussi sur le projet Salix OS pour la rédaction très aisées des pages man.
    Je ne peux qu’applaudir, et bravo pour ton implication !

    ++ fredg

  4. juke dit :

    c’est quoi t2tmake.rb ?

    • fgallaire dit :

      Je ne peux pas en dire plus que le README, car je n’utilise pas cette contribution externe au projet, et je ne connais pas vraiment le ruby.
      t2tmake.rb
      A powerful Ruby script that automate the conversion of
      txt2tags files. It scans directories, convert needed
      files and generate logs. It also has a nice batch
      feature, to store different sets of configurations.

  5. […] post of fgallaire.Votez pour ce billet sur Planet […]

  6. Carl Chenet dit :

    Bravo ! La publication d’une nouvelle version contenant ses propres modifications est un grand moment pour tous les contributeurs du libre. Txt2tags est un projet très intéressant avec l’excellente caractéristique d’être codé en Python 🙂 Je suivrai avec attention tes prochaines contributions à ce projet !

  7. Matthieu dit :

    Au début, je trouve l’idée géniale ! Et je partage cette idée concernant le WYSIWYG office.
    Première déception et de taille : les formats odt, doc (pas tapé) abw ou pdf ne sont pas pris en charge, ce qui enlève pour moi tout intérêt vu qu’ils représentent 95% (à tord ?) de mes supports actuels.

    Puis en testant un peu la bête je me suis vite confronté à des problèmes de codage entre le latex et l’UTF-8.

    Bref c’est une très bonne idée mais pour quelqu’un comme moi, ça manque de passerelle avec mes habitudes… Mais je suivrai ce projet…

    Bonne continuation !

  8. farvardin dit :

    C’est dommage d’être déçu pour si peu 🙂

    La plupart des exports de txt2tags ont pour finalité d’être affichés ou imprimés. De plus ce sont tous des formats textuels.

    Les formats odt et doc sont surtout destinés à être modifiés, dans le cas contraire, si c’est pour être imprimé, le format pdf, exporté depuis LaTeX, est suffisant, voire même supérieur. À la rigueur si c’est dans l’optique de créer la base pour un document odt, on peut simplement coller du html généré par txt2tags dans un document openoffice, comme cela il y aura les titres, les listes, les formatages spéciaux etc, il doit même y avoir des convertisseurs automatique de html vers odt en ligne de commande si nécessaire.

    Pour utiliser de l’utf-8 avec txt2tags et LaTeX, il suffit de rajouter cette définition :

    %!encoding(tex): utf8
    %!style(tex): babel

  9. dugres dit :

    In which situation, use case, txt2tags would a better choice than ReST or AscIIDoc ?

    • fgallaire dit :

      ReST mainly targets HTML and Latex. AsciiDoc mainly targets HTML and DocBook.
      Txt2tags has a lot of other targets, like many wiki syntax, and you can easily PreProc and PostProc your work to adapt to your needs.
      And the txt2tags’ syntax is ligther and easier to learn and to write.

Leave a Reply