Bonsoir,
je code un générateur de GCode en Haskell. Il va falloir que je fasse un peu de documentation…
Je souhaiterais mettre des bouts de code dans la doc, et intégrer automatiquement une visualisation 3D de ce que donne ce bout de code.
Ce genre de truc existe pour le langage R, ça s'appelle knitr. ça permet d'intégrer des courbes générée par un bout de code dans du markdown, automatiquement.
knitr supporte haskell, mais intègre juste la sortie texte.
Je souhaiterais faire ma doc en markdown, mais si c'est plus simple de faire ça en latex (ou autre), alors je ferais en latex.
En gros je cherche une sorte de préprocesseur qui extrait les bout de code de la doc, les exécute pour générer du GCode, lance un soft pour générer des images à partir de ces GCode, et intègre ces images dans la doc à côté du code correspondant.
J'espère ne pas avoir été trop confus dans mes explications.
à bientôt
# Un script peut-être ?
Posté par anaseto . Évalué à 3.
Je ne sais pas s'il existe un préprocesseur qui fait ça avec markdown (ça a l'air raisonnable de penser qu'avec latex il doit y avoir quelque chose comme ça, mais je ne connais pas non plus). Par contre, ça a l'air relativement facile de faire un truc à sa sauce, d'au moins deux façons.
La moins ambitieuse, mais probablement plus rapide : écrire un script Perl (ou Python, shell, etc.), qui cherche heuristiquement les bouts de code à coup de regexp (parser markdown rigoureusement c'est vraiment difficile, cf méthode 2 plus bas), les extrait, les compile et tout ça, puis ajoute des liens vers les images produites. Il existe aussi la possibilité de s'en sortir en n'écrivant pas directement du markdown, mais en utilisant un préprocesseur comme m4 (ça a l'air bête, mais des fois c'est pratique m4), qui peut faire appel vers des commandes quelconques (donc un petit script qui renvoie ce qu'on veut, par exemple).
Plus ambitieusement, tu peux utiliser pandoc (c'est utilisable comme librairie, et on peut manipuler l'AST généré par le source markdown) et repérer ainsi les bouts de code, puis faire un truc similaire à la méthode 1, mais par contre ça demande de réfléchir un peu plus, je pense.
[^] # Re: Un script peut-être ?
Posté par max22 . Évalué à 1.
Finalement j'ai fait avec ta deuxième solution, qui n'est pas si compliquée que ça, car il y a un exemple pour faire des "include" à cette adresse http://pandoc.org/scripting.html. Je l'ai juste modifié un peu.
Merci.
# en sphinx, pour comparer
Posté par feth . Évalué à 3.
markdown me semble être un format volontairement non spécifié (donc avec des implémentations divergentes) et limité.
Du côté de sphinx, extension de Rst, ça semble assez simple :
http://wradlib.bitbucket.org/tutorial_autoimages.html
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.