Présentation de la version 1

La chaîne de conversion de Pandoc

Ceci est une présentation des possibilités de Pandoc sous une forme graphique, à titre d'exercice pour utiliser Graphviz.

Les formats de documents (pdf, dvi, etc.) sont représentés sous forme d'ellipses, les logiciels sous formes de polygones grisés, et certains sont regroupés dans des clusters, sous-graphes dans la terminologie de Graphviz. En principe, il y a donc toujours une alternance entre un format et un logiciel, sauf pour le DocBook XML qui est complexe et nécessiterait un graphe à lui seul; les relations entre les formats à partir de DoocBook sont seulement suggérées par des flèches grisées et discontinues.

 digraph G {
   /* rankdir=LR; */
   ranksep=1.5;
   pad=1;
 
 /******** logiciels *********************************/
 
   subgraph cluster_pandoc {
     style=rounded
     color="#d0d0d0";
     label="Pandoc";
     URL="http://johnmacfarlane.net/pandoc/";
     tooltip="Universal markup converter";
     node   [style=filled,shape=house];
     pandoc        [fillcolor="#c0c0c0"
                    URL="http://johnmacfarlane.net/pandoc/pandoc.1.html"]
     markdown2pdf  [color="#d00000",fillcolor="#f0f0f0",
                    URL="http://johnmacfarlane.net/pandoc/markdown2pdf.1.html",
 		   tooltip="markdown2pdf is a wrapper around pandoc"];
     html2markdown [color="#009000",fillcolor="#f0f0f0",
                    URL="http://manpages.debian.net/cgi-bin/man.cgi?query=html2markdown",
 		   tooltip="html2markdown is a wrapper around pandoc"];
   }  
 
   subgraph cluster_latex {
     label="LaTeX"
     style=rounded
     color="#d0d0d0";
     pdflatex [shape=diamond,style=filled,fillcolor=lightgrey,
               URL="http://www.tug.org/applications/pdftex/",
 	      tooltip="an extended version of eTeX that can create PDF directly from TeX source files"];
     latex [shape=diamond,style=filled,fillcolor=lightgrey];
     dvips [shape=diamond,style=filled,fillcolor=lightgrey,
            URL="http://manpages.debian.net/cgi-bin/man.cgi?query=dvips"];
  /* dvipdfm [shape=diamond,style=filled,fillcolor=lightgrey]; */
     LaTeX
     dvi
   }  
   subgraph cluster_wg {
     label="(web grabber)"
     style=rounded
     color="#d0d0d0";
     webgraber [shape=hexagon,style=filled,fillcolor="#c0c0c0",label="wget\nlynx\nw3m\ncurl\netc."];
   }
   {
     node [style=filled,fillcolor=lightgrey];
     groff [shape=polygon, sides=5]
     grodvi [shape=polygon, sides=5,
             URL="http://manpages.debian.net/cgi-bin/man.cgi?query=grodvi",
 	    tooltip="grodvi - convert groff output to TeX dvi format"]
     browser [label="(browser)",shape=polygon, sides=5,
              tooltip="Any modern browser can print to a postscript file"]
     html2ps [shape=polygon, sides=6
              URL="http://user.it.uu.se/~jan/html2ps.html",
 	     tooltip="an HTML to PostScript converter written in Perl"]
     htmldoc [shape=polygon, sides=7,
              URL="http://www.htmldoc.org/documentation.php",
 	     tooltip="convert html source files into html, postscript, or pdf"]
     ps2pdf [shape=polygon, sides=4,
             URL="http://manpages.debian.net/cgi-bin/man.cgi?query=ps2pdf",
 	    tooltip="Convert PostScript to PDF using ghostscript"]
 
   }
 
 
 /******** formats de documents **********************/
   { rank=source
     html
     markdown
     reStructuredText
   }
   { rank=sink
     pdf
   }
   docbook [label="DocBook XML"]
   man     [label="groff man",
            URL="http://manpages.debian.net/cgi-bin/man.cgi?query=groff_man",
 	   tooltip="groff man macros to support generation of man pages"]
   s5      [label="S5 Slideshow"
            URL="http://meyerweb.com/eric/tools/s5/",
 	   tooltip="Simple Standards-Based Slide Show System"]
 
 /******** relations *********************************/
   { edge [dir=both]
     markdown         -> pandoc
     reStructuredText -> pandoc
     html             -> pandoc
     LaTeX            -> pandoc [constraint=false]
   }
 
   pandoc -> man
   pandoc -> RTF
   pandoc -> docbook
   pandoc -> s5
 
   { edge [style=dashed, color="#a0a0a0"]
   docbook -> html
   docbook -> postscript
   docbook -> pdf
   }
 
   html -> browser -> postscript -> ps2pdf -> pdf
   html -> html2ps -> postscript
   html -> htmldoc -> postscript
           htmldoc -> pdf
 
   LaTeX -> latex -> dvi -> dvips   -> postscript
   /*                dvi -> dvipdfm -> pdf     */
 
   html     -> html2markdown -> markdown [color="#009000"]
               html2markdown -> webgraber -> pandoc -> markdown [style=dashed,color="#009000"]
   markdown -> markdown2pdf -> pdf [color=red]
               markdown2pdf  -> pandoc -> LaTeX -> pdflatex -> pdf [style=dashed,color=red]
   man -> groff -> postscript
   man -> grodvi -> dvi
 }