diff options
Diffstat (limited to 'sphinx/writers/manpage.py')
-rw-r--r-- | sphinx/writers/manpage.py | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index 4b51588a..bc842057 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -10,14 +10,11 @@ """ from docutils import nodes -try: - from docutils.writers.manpage import MACRO_DEF, Writer, \ - Translator as BaseTranslator - has_manpage_writer = True -except ImportError: - # define the classes in any case, sphinx.application needs it - Writer = BaseTranslator = object - has_manpage_writer = False +from docutils.writers.manpage import ( + MACRO_DEF, + Writer, + Translator as BaseTranslator +) from sphinx import addnodes from sphinx.locale import admonitionlabels, _ @@ -29,9 +26,11 @@ class ManualPageWriter(Writer): def __init__(self, builder): Writer.__init__(self) self.builder = builder + self.translator_class = ( + self.builder.translator_class or ManualPageTranslator) def translate(self): - visitor = ManualPageTranslator(self.builder, self.document) + visitor = self.translator_class(self.builder, self.document) self.visitor = visitor self.document.walkabout(visitor) self.output = visitor.astext() @@ -247,6 +246,11 @@ class ManualPageTranslator(BaseTranslator): '>']) raise nodes.SkipNode + def visit_number_reference(self, node): + text = nodes.Text(node.get('title', '#')) + self.visit_Text(text) + raise nodes.SkipNode + def visit_centered(self, node): self.ensure_eol() self.body.append('.sp\n.ce\n') @@ -304,6 +308,11 @@ class ManualPageTranslator(BaseTranslator): def depart_literal_emphasis(self, node): return self.depart_emphasis(node) + def visit_literal_strong(self, node): + return self.visit_strong(node) + def depart_literal_strong(self, node): + return self.depart_strong(node) + def visit_abbreviation(self, node): pass def depart_abbreviation(self, node): |