mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #2224 from tk0miya/2060_change_style_of_manpage_role
Fix #2060: ``:manpage:`` role uses incorrect style (node)
This commit is contained in:
commit
a8d6e70116
@ -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