En effet, il est aisé d'exporter un document balisé grâce à la syntaxe claire de txt2tags, vers plus de 18 formats populaires tels que HTML, Mediawiki, LaTeX, DocBook, DokuWiki etc. Txt2tags permet également de modifier les exportations finales grâce à un puissant système de macros et de regex, étendant de façon illimitée les possibilités de bases. Je vous renvoie vers la dépêche de la version 2.5 ou la page Wikipedia pour une présentation plus détaillée de ses caractéristiques initiales, et j'aborde de suite les nouveautés :
- Gestion de l'exportation vers ces nouvelles syntaxes :
- art (Ascii Art)
- adoc (AsciiDoc)
- creole (Creole 1.0)
- dbk (DocBook)
- pmw (pmWiki)
- art (Ascii Art)
- Nouvelle marque : ''tagged'' pour insérer du texte sans qu'il y ait aucune transformation par txt2tags. Beaucoup de gens utilisaient le marquage ""raw"", défini par des guillemets doubles, pour avoir un équivalent mais celui-ci a le désavantage de procéder à des remplacements de base, par exemple ""<"" (en html) devient malgré tout < avec raw.
On peut également utiliser ''' en début de ligne pour marquer une ligne entière dans ce nouveau format, ou avoir une zone définie entre deux bloc ''', comme ceci :
'''
bloc de texte
à insérer
''' - Nouvelle commande %!csv pour inclure un fichier CSV externe en tant que tableau. Cela peut être utile pour générer du contenu régulièrement mis à jour par un fichier externe automatiquement exporté en CSV.
- Nouvelle option --slides pour créer des slides de présentation en ASCII art. Il est possible également de paramétrer finement la largeur, la hauteur, les coins, les bordures, les côtés, les niveaux de ce nouveau format ASCII art, via de nouvelles options.
- Amélioration des sorties des formats HTML et XHTML, pour un code plus propre.
- Des améliorations pour LaTeX au niveau des listes et des tables.
- Des améliorations pour le format Lout, au niveau des listes.
- Amélioration générale de l'apparence pour tous les formats générés, en rajoutant ou enlevant des lignes vides pour les rendre plus lisibles.
- Diverses corrections de bogues, et amélioration du code source en utilisant pychecker.
- Fichiers d'exemples mis à jour vers l'utf-8.
- Réécriture complète de la page de man, pour qu'elle soit plus concise et précise.
- Nouveau nom de domaine txt2tags.org et nouveau wiki pour échanger des recettes et astuces liés à t2t.
- Nouvelles langues rajoutées : Basque, Chinois et Ukrainien.
En outre, des outils extérieurs ont été améliorés ou créés :
- Nouveaux fichiers de syntaxe pour les éditeurs de texte : le, ne, JOE, Markitup (jQuery), Scintilla et donc aussi Geany qui utilise le même "lexer" (coloration syntaxique et liste des titres dans la partie symboles).
- Amélioration de la syntaxe pour Vim, ainsi que pour Kate (repliage des titres notamment, version svn disponible ici).
- Tutoriel "Créer des documents avec txt2tags" sur le Site du Zéro.
- Création d'une "recette" (cookbook) pour pouvoir écrire directement la syntaxe txt2tags dans le moteur PmWiki : http://www.pmwiki.org/wiki/Cookbook/Txt2tags (c'est ce qui est utilisé dans le wiki sur le site txt2tags.org)
Celle-ci permet également d'utiliser une barre d'outils de mise en forme via GUIButtons, intégré à pmwiki, pour composer en txt2tags.
- Le projet TeXtallion, que j'avais évoqué dans des journaux linuxfr il y a quelques mois et qui permet de créer des documents de type "prose", poursuit son développement (il y a même maintenant un dépôt mercurial si vous souhaitez contribuer).
- RedNotebook est un éditeur de journal personnel, utilisant la syntaxe txt2tags.
Le développement futur (vers la version 3.0) prévoit de rendre txt2tags plus modulaire, avec un coeur pour gérer les fonctions de base et les syntaxes principales, et des modules pour rajouter des fonctionnalités ainsi que de nouvelles cibles moins courantes.
L'exportation vers le code XHTML strict, qui est une cible nécessaire de nos jours, ainsi que l'export vers le très populaire Markdown sont en cours de réalisation. Il est aisé d'utiliser la version en développement qui sera très prochainement augmentée de ces nouvelles fonctionnalités.
Cette dépêche a bien entendu été réalisée et exportée en HTML grâce à txt2tags...
Aller plus loin
- txt2tags (38 clics)
- Journal des modifications (6 clics)
- Code source en développement sur le dépôt SVN (7 clics)
# Et le code
Posté par gasche . Évalué à 10.
- c'est un unique fichier python de 6k lignes
- le parsing est fait avec des regexp
Un jour, les gens comprendront que la structure d'un document n'est pas régulière, dès qu'on ajoute quelque chose ressemblant à une indication, comme les listes dans les listes. C'est le cas en langue naturelle; après, certains formats ne le supportent pas, mais cela limite leur expressivité.
[^] # Re: Et le code
Posté par B16F4RV4RD1N . Évalué à 4.
En quoi ça dérange que cela fasse 6000 lignes d'un seul bloc ? Plutôt que de disperser ce court script dans 10 fichiers au noms incompréhensibles pour le commun des mortels, je trouve plus simple de n'avoir à distribuer qu'un seul fichier. C'est dans la philosophie KISS du projet.
Et pour les développeurs, tous les éditeurs de textes digne de ce nom supportent la syntaxe python, c'est facile d'accéder directement aux différentes classes, fonctions et variables...
Au niveau de l'analyse syntaxique, le fait que cela utilise les regexp permet justement de pouvoir les utiliser dans le corps du document, pour faire des remplacements. Tu as peut-être un exemple concret d'un blocage que tu aurais pu avoir à cause de cela ? Parce que là je ne vois pas.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Et le code
Posté par X345 . Évalué à 10.
Je préfère largement avoir 10 fichiers de 600 lignes, même si le nom est incompréhensible (et d'ailleurs pourquoi le nom serait forcément incompréhensible ?)
Ça permet, par exemple si on simplement besoin d'ajouter une fonctionnalité, de savoir dans quel fichier se situent les classes/méthodes à modifier, plutôt que de patauger dans les 80 classes et les 300 méthodes qui s'affichent dans l'onglet structure.
D'autre part, je ne suis pas vraiment d'accord avec l'argument KISS. Je vois pas en quoi c'est plus simple de tout avoir dans un fichier de 6000 lignes et dire dire au contributeur : taka avoir un bon IDE pour te repérer.
Pour revenir sur le code de txt2tags, rien que tous les headers (pour les différents types de documents) peuvent être déplacés vers un fichier headers.py par exemple (même chose pour les autres constantes). Même chose pour la fonction getTag(), la déplacer vers un autre fichier nommé tags.py ne couterait pas grand-chose. Enfin, il serait possible de déplacer les classes gérant la configuration dans un fichier config.py.
Non, vraiment un fichier de 6000 lignes, ce n'est pas la meilleure méthode pour attirer le contributeur. D'un autre côté le code est bien commenté, donc ça compense ce petit écart.
Ma remarque n'est pas une critique contre txt2tags, c'est un logiciel très utile qui a l'immense mérite de fonctionner et c'est facile de critiquer de l'extérieur. Après tout l'auteur fait ce qu'il veut, c'est peut-être pas sa priorité de faire quelquechose de modulaire.
[^] # Re: Et le code
Posté par B16F4RV4RD1N . Évalué à 2.
Certains utilisateurs semblent préférer n'avoir quand même qu'un seul fichier au final, peut-être qu'il est possible en python d'avoir un code modulaire et de sortir ensuite une version autogénérée avec tout dans un seul fichier ? Des noms comme "headers.py", "tags.py", pour des utilisateurs béotiens, ça ne veut pas dire grand chose.
Si ça t'intéresse de contribuer dans txt2tags pour apporter cela, pourquoi pas, tu peux le proposer sur la liste de diffusion ou directement à Aurélio.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Et le code
Posté par Octabrain . Évalué à 2.
pyPack [http://sebsauvage.net/python/programs.html#pypack] pourrait être étendu pour inclure plusieurs fichiers en un
[^] # Re: Et le code
Posté par djano . Évalué à 2.
D'ailleurs ils n'ont même pas besoin de savoir ce que c'est. Par contre un développeur aura une chance de trouver par lui-même ce qu'il cherche d'après ces noms. C'est toujours utile de permettre aux nouveaux contributeurs de pouvoir facilement rentrer dans le code. Bon en même temps, 6k lignes c'est gros pour un seul fichier, mais quand même pas énorme pour la taille du programme.
[^] # Re: Et le code
Posté par monde_de_merde . Évalué à 8.
Je dirai, avec ma faible connaissance, que le choix des expressions régulières n'est pas idiot ici, et qu'on a pas besoin d'un parser complet pour ce type de structures simples.
# Merci
Posté par C. OB (site web personnel) . Évalué à 3.
La syntaxe ressemble un peu au ResT, je trouve.
Merci encore !
[^] # Re: Merci
Posté par tesiruna . Évalué à 2.
au ReST (et rst2pdf etc) ?
Certes l'avantage de cet outil est le nombre de sorties différentes.
J'ai cru comprendre qu'il supporte des commandes (genre %!csv cité dans
l'article), quee le ReST n'a pas il me semble. Mais y aurait-il une comparaison
complète quelque part entre les deux formats ?
[^] # Re: Merci
Posté par lolop (site web personnel) . Évalué à 2.
Autre différence, une syntaxe AMA plus rigide (j'étais passé de ReST à AsciiDoc à cause de ça sur certaines docs de développement).
http://sphinx.pocoo.org/
http://www.siafoo.net/help/reST
http://www.siafoo.net/help/math
http://www.siafoo.net/help/graphs
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
[^] # Re: Merci
Posté par barmic . Évalué à 3.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Merci
Posté par B16F4RV4RD1N . Évalué à 4.
http://en.wikipedia.org/wiki/Lightweight_markup_language
On pose souvent la question par rapport à ce qu'une syntaxe a de plus ou de moins, l'intérêt d'utiliser ça au lieu d'un autre etc. Bien entendu, c'est question d'habitude et de goût, mais on peut voir que txt2tags (tout comme creole qui a beaucoup d'éléments en commun), a l'avantage d'avoir une syntaxe assez logique par rapport à d'autres systèmes concurrents :
Les '''gras''' et ''italiques'' de mediawiki deviennent vite indigestes, surtout si on doit les combiner en '''''gras et italique'''''. L'//italique// et le **gras** de txt2tags me semble plus cohérents et logiques (c'est toujours composé avec des symboles allant par paire, et mis des 2 côtés). En plus, il y a plus de possibilités d'expression sont plus importantes, on peut notamment barrer ou souligner du texte.
Idem pour les titres, débuter avec des *** et pas terminer le titre avec, c'est la galère pour l'analyse syntaxique, idem pour le soulignement (comme dans ReST). Certains comptent même à l'envers, ===== titre niveau 1 =====, ==== titre niveau 2 ==== etc
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Merci
Posté par BAud (site web personnel) . Évalué à 4.
c'est une question de mise en forme et tu peux choisir de n'avoir que 3 niveaux de titre
===titre===
==titre de niveau inférieur==
=titre en dessous=
ça me paraît bien logique dans un fichier texte :)
[^] # Re: Merci
Posté par djano . Évalué à 2.
[^] # Re: Merci
Posté par B16F4RV4RD1N . Évalué à 3.
Et puis, comme un consensus est difficilement trouvable, un nouveau projet propose sa nouvelle syntaxe. C'est relativement humain comme comportement.
Wikicréole, qui avait étudié la plupart des wiki existant et recherché ce qui était le plus pratique au final (cf. les études que l'on trouve ici : http://www.wikicreole.org/wiki/Reasoning ) s'était proposé comme dénominateur commun, mais j'ai l'impression que cela n'a pas énormément pris, c'est dommage, car comme par hasard, ils sont arrivés presque aux mêmes conclusions que ce qui avait été choisi initialement dans txt2tags.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Merci
Posté par djano . Évalué à 1.
Je ne sais pas si c'est humain, mais en tout cas ca semble être plus facile d'écrire son propre système de markup que de contribuer a OpenOffice.org par exemple (ou LibreOffice selon ce qui vous plaît) .
c'est dommage, car comme par hasard, ils sont arrivés presque aux mêmes conclusions que ce qui avait été choisi initialement dans txt2tags.
J'imagine que tu parles de la syntaxe qui est proche?
[^] # Re: Merci
Posté par B16F4RV4RD1N . Évalué à 2.
oui c'est ça, c'est presque pareil, sauf pour les liens.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Merci
Posté par barmic . Évalué à 2.
- choix de l'éditeur + toutes les possibilités sont utilisable au clavier et n'utilisent que du texte
- enpreinte mémoire réduite et limité dans le temps
- utiliser un format de fichier compatible avec un gestionnaire de source (oui on peut versionner un odt mais tu va galérer au niveau des diff' et l'espace occupé par ton dépôt risque d'exploser
Ce sont des classes d'outils différents pour des objectifs et des utilisations différentes.
Les suites bureautiques ont d'autres avantages, hein. Je suis pas entrain de les démolir (facilité d'utilisation, WYSIWYG, tout se fait avec un seul outil, possibilité d'avoir tout dans un seul fichier (images inclus), intéropérabilité importante avec un tableur pour manipuler des données de manière agréable).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Merci
Posté par djano . Évalué à 3.
Ce que je voulais dire c'est que 13+ langages de markup c'est quand même un peu trop. Je pense au temps/énergie/détermination passé par leurs auteurs respectif pour les créer et je pense a ce qu'il aurait été possible de faire de ce temps sur d'autres projets. J'ai pris OpenOffice.org ou LibreOffice, mais j'aurais pu parler de Firefox, KDE, Gnome, ou même GCC (!?!). Je sais bien que ces projets n'ont rien a voir avec un langage de markup, et que les développeur n'auraient peut être jamais contribué a ces logiciels libres que je cite (ou même a d'autres).
C'est juste que tous ces langages de markup me laissent un sentiment de réinvention de la roue, voie même un gâchis.
[^] # Re: Merci
Posté par B16F4RV4RD1N . Évalué à 2.
Le problème aussi, c'est que si on doit trouver un consensus, chacun dira, "on n'a qu'à garder markdown," ou "on n'a qu'à garder mediawiki".
Le nouveau troll : txt2tags<=>markdown :)
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Merci
Posté par djano . Évalué à 2.
Oui! Car il y a 120 000+ distributions, et encore, je sous estime le nombre.
comme pour kde<=>gnome
Oui, si tu rajoutes a cela XFCE, Enlightenment, Etoilé, ...
Quels autres environnement de bureau propose aussi tout un tas d'applications qui vont avec?
comme vim<=>emacs...
Oui si tu rajoutes a cela gedit, kate, SciTE, Notepad++, notepad2, nedit, nano, jedit, et j'en oublie.
Autant je "connais" des buts différents e irréconciliable a chaque environnement de bureaux, autant je connais la raison de l'existence de la plupart des éditeurs de textes (mais pas tous), autant les distributions linux se multiplie comme des lapins tellement c'est facile de se baser sur une distro principale qui a fait le boulot ingrat (mais la je suis plus dubitatif sur l'existence de nombre d'entre elles), autant je ne connais pas la raison qui fait que toutes ces syntaxes de markup existe, d'où mon incompréhension.
# Super!
Posté par zaurus (site web personnel) . Évalué à 1.
Pour l'instant, je fais du S5 mais ca me gave.
Il faut taper trop de trucs pour faire une presentation.
J'aimais bien MagicPoint mais comme il faut le configurer
apres une installation c'est un peu lourd, et puis ca exportait
pas super en HTML ou PDF chez moi.
La syntaxe de MagicPoint est tres light, c'est ca qui m'attire chez
tzt2tags.
[^] # Re: Super!
Posté par B16F4RV4RD1N . Évalué à 2.
Il existe aussi un patch pour rajouter l'export Beamer dans txt2tags : http://code.google.com/p/txt2tags/issues/detail?id=2
Ça fonctionne plutôt bien, je l'avais ajouté dans un projet.
Je vais proposer de l'intégrer dans la prochaine version de t2t, car c'est très utile.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Super!
Posté par gvdmoort . Évalué à 1.
[^] # Re: Super!
Posté par B16F4RV4RD1N . Évalué à 3.
http://textallion.googlecode.com/hg/txt2tags?r=1f5ce49002009(...)
Et ce n'est pas pour troller, mais en supposant que S5 permette d'avoir du texte souligné (vu que c'est du html), comment faire depuis markdown, vu que le soulignement de texte n'est pas proposé dans markdown ?
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Super!
Posté par gvdmoort . Évalué à 1.
«For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you're switching from Markdown to HTML; you just use the tags.»
[^] # Re: Super!
Posté par saimn . Évalué à 1.
[^] # Re: Super!
Posté par gvdmoort . Évalué à 1.
http://johnmacfarlane.net/pandoc/
http://daringfireball.net/projects/markdown/
http://www.k1ka.be/desidia/?La_cha%c3%aene_de_conversion_de_(...)
# Le Site du Zéro...
Posté par MarbolanGos (site web personnel) . Évalué à 2.
python.exe "C:\Documents and Settings\Utilisateur\Mes documents\Chemin_vers_txt2tags\txt2tags.py" %1
Sinon l'outil semble très intéressant ! Merci !
[^] # Re: Le Site du Zéro...
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Le Site duZéro...
Posté par tesiruna . Évalué à 1.
utilisateurs Windows de 14 ans.
[^] # Re: Le Site duZéro...
Posté par B16F4RV4RD1N . Évalué à 2.
Il n'y a pas de mal de partir de zéro, tout le monde l'a fait un jour non ?
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Le SiteduZéro...
Posté par tesiruna . Évalué à 1.
# Mouis...
Posté par dr_home . Évalué à 2.
Si j'en crois le tutoriel qu'a écrit l'auteur de la dépêche sur le site du Zéro, en gros ça réinvente le tube shell. Parce que le preproc et le postproc qui appliquent une regex ligne par ligne, chez moi ça s'appelle sed et awk (et encore, c'est faire peu d'honneur à ces deux merveilleux outils).
À mes yeux, txt2tags se heurte aux mêmes écueils que les autres pour ce qui est de la course au Saint Graal (une source légère et n sorties de qualité), à savoir que plus il y a de sorties, plus est petit leur dénominateur commun, et donc plus la syntaxe intermédiaire va être soit pauvre (on colle à ce qu'on peut aisément décrire dans tous les langages), soit incohérente (on crée des contextes spécifiques à certaines sorties, ce que précisément ladite syntaxe visait à éviter).
Je trouve ça gros de faire passer le B-A-BA de la moulinette depuis que la moulinette est moulinette pour une super-fonctionnalité : il suffit que le soft lise depuis stdin et écrive sur stdout pour obtenir la même chose, avec en plus les outils de son choix et sans cradouiller la syntaxe en amont. Parce que le preproc est àmha vraiment ce qui ressemble le plus à une fausse bonne idée ; avec un système comme ça, il est impossible de connaître a priori la structure d'un document t2t et donc d'envisager manipuler le format avec un outil tiers.
Bref, je ne dis pas que txt2tags est un outil sans valeur (même si pour l'avoir testé il y a quelques années, j'avais été déçu par la qualité des sorties), mais je ne vois pas trop ce que ça apporte de révolutionnaire en terme d'approche et de qualité d'implémentation par rapport à une énième compilation de moulinettes.
Mes 2¢
[^] # Re: Mouis...
Posté par B16F4RV4RD1N . Évalué à 4.
L'intérêt des pre et postproc, c'est justement de pouvoir tout renseigner dans un document unique, comme cela si on copie ce document à quelqu'un d'autre, il n'y a pas besoin de faire référence à d'autres fichiers de configuration ou un makefile externe.
Les contextes spécifiques permettent justement de créer un syntaxe spéciale suivant les besoins, soit en fonction d'un document particulier (divers sites internet par exemple), soit en fonction de la sortie (un livre papier, un ebook, une page internet)
Par exemple si j'ai envie de rajouter facilement sur un site des liens wikipedia, en s'inspirant par exemple de ce que fait linuxfr, je peux dire que :es:Música fera référence à la page espagnole de wikipedia sur la musique, il suffit de rajouter :
%!preproc(xhtml): '\[\[:([^ ].*?):([^ ].*?)\]\]' '\2[\2 http://\1.wikipedia.org/wiki/\2]'
Si je veux que la version pdf (LaTeX) puisse donner le lien complet écrit en toutes lettres :
%!preproc(tex): '\[\[:([^ ].*?):([^ ].*?)\]\]' '\2[http://\1.wikipedia.org/wiki/\2 http://\1.wikipedia.org/wiki/\2]'
avec preproc, ça permet de garder la syntaxe interne de txt2tags, et de mettre les 2 possibilités (ou plus), les unes à la suite des autres.
Dans le cas de l'utilisation de sed et compagnie, cela sera sans doute possible de faire pareil, mais il faudra faire des entrées compliquées dans un makefile, c'est quoi l'intérêt ? (perso je sais le faire avec txt2tags, je ne saurais pas le faire facilement avec sed)
Aurélio, qui a conçu txt2tags, a écrit un livre de 208 pages sur les expressions rationnelles, et un autre de 480 sur le shell (cf. http://aurelio.net/ ), sans compter un petit jeu de sokoban écrit en sed : http://sed.sourceforge.net/local/games/sokoban.sed
Bref, vu ses connaissances dans ces 3 domaines, s'il a imaginé txt2tags en incluant les regex directement dedans, je pense pouvoir lui faire confiance, c'est qu'il a dû trouver cela plus pratique que de dire à ses utilisateurs RTFM sed et awk.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Mouis...
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Mouais...
Posté par dr_home . Évalué à 1.
:D
Faudra que je la ressorte celle-là : -- Moi les épinards, je trouve ça dégueu ! -- Tu dis ça, c'est juste parce que t'en as pas mangé intensivement.
Mais non, effectivement, je ne l'ai pas employé beaucoup. C'était peut-être au niveau du HTML que c'était pas top top. Honnêtement je ne sais plus et je concède tout à fait que ça ait pu changer depuis.
Les contextes spécifiques permettent justement de créer un syntaxe spéciale suivant les besoins, soit en fonction d'un document particulier (divers sites internet par exemple), soit en fonction de la sortie (un livre papier, un ebook, une page internet)
J'ai bien compris, mais c'est la pauvreté de l'approche que je critique. Loin de moi l'idée que faire une farandole de awk et de sed soit une panacée en terme de gestion de document, c'est justement pourquoi faire de la regex ligne à ligne en amont et en aval en baptisant ça "système de macros" me dérange.
La ligne en tant que clé de manipulation, c'est vraiment la misère. Ça manque àmha d'abstraction, qui permettrait de définir et de manipuler des structures. Évidement, cela suppose que la syntaxe ait une certaine rigidité, des limites claires, que l'emploi du preproc empêche précisément..
Bref, vu ses connaissances dans ces 3 domaines, s'il a imaginé txt2tags en incluant les regex directement dedans, je pense pouvoir lui faire confiance, c'est qu'il a dû trouver cela plus pratique que de dire à ses utilisateurs RTFM sed et awk.
On sent effectivement une approche très shell des choses... avec un langage comme python, plutôt que le présent bricolage, j'aurais pensé une extensibilité par script, en héritant les objets de base pour adapter proprement la syntaxe à ses besoins.
À part ça je trouve l'argument "il a beaucoup fréquenté" assez moyen. Prends quelqu'un comme Brian Kernighan, qui a entre autres accompagné le développement d'UNIX, co-écrit la bible du C avec l'auteur du langage Dennis Ritchie, et enseigne aujourd'hui la programmation à Princeton. Tout cela n'empêche pas que dans le manuel de son implémentation de AWK (le "K", c'est lui) on trouve :
BUGS
There are no explicit conversions between numbers and strings. To force an expression to be treated as
a number add 0 to it; to force it to be treated as a string concatenate "" to it.
The scope rules for variables in functions are a botch; the syntax is worse.
Connaître un domaine "à fond" n'a jamais empêché d'avoir de mauvaises intuitions, ni heureusement l'humilité de le reconnaître...
[^] # Re: Mouis...
Posté par barmic . Évalué à 4.
Pour ce qui est des limitations, si on compare à latex il est évident que ça n'a rien à voir. Personnellement la seule vraie limitation que j'ai rencontré c'est pour les formules. Je souhaitais contribuer pour ajouter cette fonctionnalité (il y a des possibilités de sorties vers latex, xhtml et probablement d'autre (lout, wikipedia,...)). Pour diverses raisons je n'ai pas encore pu le faire mais je ne déespère pas d'ajouter cette fonctionnalité un jour.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Mouis...
Posté par B16F4RV4RD1N . Évalué à 2.
```
\begin{displaymath}
\frac{a}{b} + \sqrt[n]{abcd}
\end{displaymath}
```
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Mouais...
Posté par dr_home . Évalué à 1.
D'où, on en revient à ce que je disais plus haut, la source unique pour n sorties tient du mythe. Txt2tags me fait plutôt penser à un Markdown qu'on peut appliquer au choix à telle ou telle sortie qu'à un véritable système de documentation universel (qui -- en admettant que ce soit possible -- ne peut être de mon point de vue qu'une usine à gaz, tant cela suppose un niveau d'abstraction poussé). Je me demande en fait si on aurait pas gagné en ergonomie et en qualité de syntaxe en limitant clairement a priori les sorties supportées...
[^] # Re: Mouais...
Posté par B16F4RV4RD1N . Évalué à 2.
évidemment. Et ça ne fait pas le café non plus, ça ne peut pas tout faire. Enfin si, si tu as du temps, tu peux créer des filtres qui pourront modifier de nouveau les formules en latex pour l'afficher en html, mais il y a sans doute d'autres outils pour faire ça (latex2html).
C'est comme un couteau suisse, on peut faire beaucoup de choses avec, mais pour tronçonner un arbre ou enfoncer des piquets, ce n'est pas le plus adapté.
La plupart des documents qui sont créés dans le monde (commentaires linuxfr, romans, manuels d'utilisation etc) ont besoin d'un niveau d'expression assez réduit quand même : gras, italique, soulignement, titres, images, ça couvre la plupart des besoins.
Et puis effectivement, le but n'est pas forcément d'exporter vers html + wikipedia + xhtml + latex + dokuwiki, mais de choisir suivant les besoins. Mais on peut avoir envie d'écrire un document pour mettre sur son site en html, et le replacer ensuite sur un wiki utilisant mediawiki.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.