From 7be5f21f844f1107b6c281c08b7abccc7ac6603d Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 22 Sep 2011 12:42:45 +0200 Subject: [PATCH] Fix #720: add dummy visitor for graphviz nodes for man/text writer. --- CHANGES | 2 ++ sphinx/ext/graphviz.py | 20 +++++++++++++++++++- sphinx/writers/manpage.py | 4 ++-- sphinx/writers/text.py | 2 ++ 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index dea951de7..e8a281aad 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ Release 1.0.8 (in development) ============================== +* #720: Add dummy visitors for graphviz nodes for text and man. + * #704: Fix image file duplication bug. * #677: Fix parsing of multiple signatures in C++ domain. diff --git a/sphinx/ext/graphviz.py b/sphinx/ext/graphviz.py index 1bb70d022..bf62c0638 100644 --- a/sphinx/ext/graphviz.py +++ b/sphinx/ext/graphviz.py @@ -24,6 +24,7 @@ from docutils import nodes from docutils.parsers.rst import directives from sphinx.errors import SphinxError +from sphinx.locale import _ from sphinx.util.osutil import ensuredir, ENOENT, EPIPE from sphinx.util.compat import Directive @@ -243,10 +244,27 @@ def render_dot_latex(self, node, code, options, prefix='graphviz'): def latex_visit_graphviz(self, node): render_dot_latex(self, node, node['code'], node['options']) + +def text_visit_graphviz(self, node): + if 'alt' in node.attributes: + self.add_text(_('[graph: %s]') % node['alt']) + self.add_text(_('[graph]')) + raise nodes.SkipNode + + +def man_visit_graphviz(self, node): + if 'alt' in node.attributes: + self.body.append(_('[graph: %s]') % node['alt'] + '\n') + self.body.append(_('[graph]')) + raise nodes.SkipNode + + def setup(app): app.add_node(graphviz, html=(html_visit_graphviz, None), - latex=(latex_visit_graphviz, None)) + latex=(latex_visit_graphviz, None), + text=(text_visit_graphviz, None), + man=(man_visit_graphviz, None)) app.add_directive('graphviz', Graphviz) app.add_directive('graph', GraphvizSimple) app.add_directive('digraph', GraphvizSimple) diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index 5377ee58f..e49ba521e 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -226,8 +226,8 @@ class ManualPageTranslator(BaseTranslator): # overwritten -- don't emit a warning for images def visit_image(self, node): if 'alt' in node.attributes: - self.body.append('[image: %s]\n' % node['alt']) - self.body.append('[image]\n') + self.body.append(_('[image: %s]') % node['alt'] + '\n') + self.body.append(_('[image]') + '\n') raise nodes.SkipNode # overwritten -- don't visit inner marked up nodes diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index b82bfcdbb..4d28e7e4a 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -426,6 +426,8 @@ class TextTranslator(nodes.NodeVisitor): raise nodes.SkipNode def visit_image(self, node): + if 'alt' in node.attributes: + self.add_text(_('[image: %s]') % node['alt']) self.add_text(_('[image]')) raise nodes.SkipNode