diff --git a/CHANGES b/CHANGES index 8074e8a9d..e755e6bcb 100644 --- a/CHANGES +++ b/CHANGES @@ -112,6 +112,8 @@ Features added 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 886af5058..ee935945d 100644 --- a/sphinx/ext/graphviz.py +++ b/sphinx/ext/graphviz.py @@ -25,6 +25,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, EINVAL from sphinx.util.compat import Directive @@ -294,11 +295,26 @@ def texinfo_visit_graphviz(self, node): render_dot_texinfo(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]')) + + +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), - texinfo=(texinfo_visit_graphviz, None)) + texinfo=(texinfo_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 620873bb7..81f2988b2 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -230,8 +230,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 5d6f49ec3..e5ab070c7 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -434,6 +434,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