summaryrefslogtreecommitdiff
path: root/sphinx/writers/manpage.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/writers/manpage.py')
-rw-r--r--sphinx/writers/manpage.py27
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):