Mercurial > public > mercurial-scm > evolve
diff docs/test2rst.py @ 2950:1b4c92621e23
doc: integrate graphviz graphs in tutorials
Use the mercurial-graphviz extension
(https://bitbucket.org/octobus/mercurial_graphviz) in tutorials in order to
have some dot graphs in the tutorials .t files.
In order to run the tests, export the GRAPHVIZ_EXTENSION variable which points
to your copy of the extension. Please be aware that pygraphviz should be
installed in your environment.
That should be sufficient for generating dot graphs in text format.
Then generate the doc as usual, the sphinx-graphviz extension (http://www
.sphinx-doc.org/en/stable/ext/graphviz.html) has been added and it should
handle the generation of the graphs. Please be aware that you need the dot
binary installed in your system. Please refer to the extension documentation
for more configuration.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 29 Aug 2017 16:42:40 +0200 |
parents | 7608f1e04205 |
children | 2ddc63d13af8 |
line wrap: on
line diff
--- a/docs/test2rst.py Tue Sep 19 12:52:22 2017 +0200 +++ b/docs/test2rst.py Tue Aug 29 16:42:40 2017 +0200 @@ -17,22 +17,38 @@ newlines = [] code_block_mode = False + sphinx_directive_mode = False for line in orig.splitlines(): # Emtpy lines doesn't change output if not line: newlines.append(line) + code_block_mode = False + sphinx_directive_mode = False + continue + + # Ignore line + if line.endswith('#ignore'): continue + # Sphinx directives mode + if line.startswith(' .. '): + + # Insert a empty line to makes sphinx happy + newlines.append("") + + # And unindent the directive + line = line[2:] + sphinx_directive_mode = True + + # Code mode codeline = line.startswith(' ') - if codeline: + if codeline and not sphinx_directive_mode: if code_block_mode is False: newlines.extend(['::', '']) code_block_mode = True - else: - code_block_mode = False newlines.append(line)