mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #2060: `:manpage:
` role uses incorrect style (node)
It should be use bold style to reference man pages in man format. On other formats, it is still represented as emphasis.
This commit is contained in:
parent
f44fd9f994
commit
50426a711c
@ -212,6 +212,10 @@ class termsep(nodes.Structural, nodes.Element):
|
||||
"""Separates two terms within a <term> node."""
|
||||
|
||||
|
||||
class manpage(nodes.Inline, nodes.TextElement):
|
||||
"""Node for references to manpages."""
|
||||
|
||||
|
||||
# make the new nodes known to docutils; needed because the HTML writer will
|
||||
# choke at some point if these are not added
|
||||
nodes._add_node_class_names(k for k in globals().keys()
|
||||
|
@ -29,7 +29,7 @@ generic_docroles = {
|
||||
'kbd': nodes.literal,
|
||||
'mailheader': addnodes.literal_emphasis,
|
||||
'makevar': addnodes.literal_strong,
|
||||
'manpage': addnodes.literal_emphasis,
|
||||
'manpage': addnodes.manpage,
|
||||
'mimetype': addnodes.literal_emphasis,
|
||||
'newsgroup': addnodes.literal_emphasis,
|
||||
'program': addnodes.literal_strong, # XXX should be an x-ref
|
||||
|
@ -640,6 +640,12 @@ class HTMLTranslator(BaseTranslator):
|
||||
self.body.append('<br />')
|
||||
raise nodes.SkipNode
|
||||
|
||||
def visit_manpage(self, node):
|
||||
return self.visit_literal_emphasis(node)
|
||||
|
||||
def depart_manpage(self, node):
|
||||
return self.depart_literal_emphasis(node)
|
||||
|
||||
def depart_title(self, node):
|
||||
close_tag = self.context[-1]
|
||||
if (self.permalink_text and self.builder.add_permalinks and
|
||||
|
@ -1666,6 +1666,12 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
||||
def depart_abbreviation(self, node):
|
||||
self.body.append(self.context.pop())
|
||||
|
||||
def visit_manpage(self, node):
|
||||
return self.visit_literal_emphasis(node)
|
||||
|
||||
def depart_manpage(self, node):
|
||||
return self.depart_literal_emphasis(node)
|
||||
|
||||
def visit_title_reference(self, node):
|
||||
self.body.append(r'\emph{')
|
||||
|
||||
|
@ -375,6 +375,12 @@ class ManualPageTranslator(BaseTranslator):
|
||||
def depart_abbreviation(self, node):
|
||||
pass
|
||||
|
||||
def visit_manpage(self, node):
|
||||
return self.visit_strong(node)
|
||||
|
||||
def depart_manpage(self, node):
|
||||
return self.depart_strong(node)
|
||||
|
||||
# overwritten: handle section titles better than in 0.6 release
|
||||
def visit_title(self, node):
|
||||
if isinstance(node.parent, addnodes.seealso):
|
||||
|
@ -1476,6 +1476,12 @@ class TexinfoTranslator(nodes.NodeVisitor):
|
||||
def depart_abbreviation(self, node):
|
||||
self.body.append(self.context.pop())
|
||||
|
||||
def visit_manpage(self, node):
|
||||
return self.visit_literal_emphasis(node)
|
||||
|
||||
def depart_manpage(self, node):
|
||||
return self.depart_literal_emphasis(node)
|
||||
|
||||
def visit_download_reference(self, node):
|
||||
pass
|
||||
|
||||
|
@ -861,6 +861,12 @@ class TextTranslator(nodes.NodeVisitor):
|
||||
if node.hasattr('explanation'):
|
||||
self.add_text(' (%s)' % node['explanation'])
|
||||
|
||||
def visit_manpage(self, node):
|
||||
return self.visit_literal_emphasis(node)
|
||||
|
||||
def depart_manpage(self, node):
|
||||
return self.depart_literal_emphasis(node)
|
||||
|
||||
def visit_title_reference(self, node):
|
||||
self.add_text('*')
|
||||
|
||||
|
@ -20,3 +20,4 @@ def test_all(app, status, warning):
|
||||
|
||||
content = (app.outdir / 'SphinxTests.1').text()
|
||||
assert r'\fBprint \fP\fIi\fP\fB\en\fP' in content
|
||||
assert r'\fBmanpage\en\fP' in content
|
||||
|
Loading…
Reference in New Issue
Block a user