URL: https://linuxfr.org/users/anaseto/journaux/frundis-un-langage-de-balisage-semantique-qui-murit Title: frundis : un langage de balisage sémantique qui mûrit ! Authors: anaseto Date: 2017年06月03日T17:32:45+02:00 License: CC By-SA Tags: markup, epub et latex Score: 38 Bonjour Nal, Il y a un peu plus de deux ans, je t'avais parlé d'un langage de balisage sémantique, appelé frundis, qui permettait de produire du LaTeX, de l'HTML et des EPUB; un langage à mi-chemin entre les langages dits « légers » (comme markdown) et les langages plus « lourds » vers lesquels il exporte. Depuis, le langage a fait son petit bout de chemin ! Déjà, j'ai réécrit le programme en Go l'année dernière (avant c'était du Perl). La réécriture m'a permis de repenser un peu l'architecture du programme pour faciliter l'export vers de nouveaux formats : on peut donc aussi exporter maintenant vers markdown et [groff mom](http://www.schaffter.ca/mom/momdoc/intro.html). L'export vers ces formats est un peu seconde-classe et donc pas aussi mûr ni complet que celui vers LaTeX, HTML et EPUB, mais peut s'avérer parfois bien pratique. Par exemple, un truc chouette, c'est produire des pdfs de qualité avec groff mom lorsque le géant TeX Live n'est pas installé sur la machine. (go)frundis est maintenant plus facile à installer aussi : il n'y a aucune dépendance en dehors de la librairie standard de Go. Le détail des instructions pour l'installer se trouve sur la [page github](https://github.com/anaseto/gofrundis/) du projet : en gros, il s'agit juste de configurer la variable d'environnement `GOPATH` puis de faire un `go get` du projet ; en fait, même pas besoin de configurer `GOPATH` à partir de go 1.8. D'autres changements plus ou moins en vrac : + Possibilité de spécifier des attributs pour un élément lors de l'export HTML ou EPUB, ou des options en LaTeX. + La séparation entre le fond et la forme (au cœur de la philosophie du langage !) a fait l'objet d'un petit peu d'attention. + Des améliorations côté macros utilisateur, comme la possibilité d'utiliser des arguments nommés ou un nombre variable d'arguments. + Quelques améliorations diverses : interpolation de variables d'environnement, simplification du système de références croisées et quelques changements divers visant à rendre le langage plus simple et orthogonal. + Plus de tests (autour de 95% du code couvert par des tests), moins de bugs (ou alors ils se cachent mieux maintenant), et frundis est de plus en plus rusé pour deviner où est-ce qu'on s'est planté avec la syntaxe, et de plus en plus pédagogique dans sa façon de nous le dire. Un petit exemple de document frundis pour la route : ``` groff .Sh Titre de section Texte dans un premier paragraphe. .P Texte dans un deuxième paragraphe. .Sm Texte en emphase . .Sh Autre Section etc. .Tc \" table des matières ``` Un exemple plus détaillé et en couleurs se trouve [là](https://bardinflor.perso.aquilenet.fr/frundis/intro-fr#s4). Les pages man d'utilisation du [programme](https://bardinflor.perso.aquilenet.fr/frundis/frundis-1.html) et du [langage](https://bardinflor.perso.aquilenet.fr/frundis/frundis_syntax-5.html) (en anglais) décrivent en détail tout ce qu'il faut savoir ; enfin, sans doute pas tout mais beaucoup :) PS : frundis est aussi plutôt énergique et est capable d'exporter des fichiers à plus de cent mille lignes par seconde sur ma machine (voire plusieurs centaines de milliers pour les fichiers simples) ; pas forcément super utile comme feature, surtout lorsqu'on exporte vers LaTeX qui est capable d'éclipser n'importe qui avec son allure lente et majestueuse, mais ça peut pas faire de mal :)

AltStyle によって変換されたページ (->オリジナル) /