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."""
|
"""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
|
# make the new nodes known to docutils; needed because the HTML writer will
|
||||||
# choke at some point if these are not added
|
# choke at some point if these are not added
|
||||||
nodes._add_node_class_names(k for k in globals().keys()
|
nodes._add_node_class_names(k for k in globals().keys()
|
||||||
|
@ -29,7 +29,7 @@ generic_docroles = {
|
|||||||
'kbd': nodes.literal,
|
'kbd': nodes.literal,
|
||||||
'mailheader': addnodes.literal_emphasis,
|
'mailheader': addnodes.literal_emphasis,
|
||||||
'makevar': addnodes.literal_strong,
|
'makevar': addnodes.literal_strong,
|
||||||
'manpage': addnodes.literal_emphasis,
|
'manpage': addnodes.manpage,
|
||||||
'mimetype': addnodes.literal_emphasis,
|
'mimetype': addnodes.literal_emphasis,
|
||||||
'newsgroup': addnodes.literal_emphasis,
|
'newsgroup': addnodes.literal_emphasis,
|
||||||
'program': addnodes.literal_strong, # XXX should be an x-ref
|
'program': addnodes.literal_strong, # XXX should be an x-ref
|
||||||
|
@ -640,6 +640,12 @@ class HTMLTranslator(BaseTranslator):
|
|||||||
self.body.append('<br />')
|
self.body.append('<br />')
|
||||||
raise nodes.SkipNode
|
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):
|
def depart_title(self, node):
|
||||||
close_tag = self.context[-1]
|
close_tag = self.context[-1]
|
||||||
if (self.permalink_text and self.builder.add_permalinks and
|
if (self.permalink_text and self.builder.add_permalinks and
|
||||||
|
@ -1666,6 +1666,12 @@ class LaTeXTranslator(nodes.NodeVisitor):
|
|||||||
def depart_abbreviation(self, node):
|
def depart_abbreviation(self, node):
|
||||||
self.body.append(self.context.pop())
|
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):
|
def visit_title_reference(self, node):
|
||||||
self.body.append(r'\emph{')
|
self.body.append(r'\emph{')
|
||||||
|
|
||||||
|
@ -375,6 +375,12 @@ class ManualPageTranslator(BaseTranslator):
|
|||||||
def depart_abbreviation(self, node):
|
def depart_abbreviation(self, node):
|
||||||
pass
|
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
|
# overwritten: handle section titles better than in 0.6 release
|
||||||
def visit_title(self, node):
|
def visit_title(self, node):
|
||||||
if isinstance(node.parent, addnodes.seealso):
|
if isinstance(node.parent, addnodes.seealso):
|
||||||
|
@ -1476,6 +1476,12 @@ class TexinfoTranslator(nodes.NodeVisitor):
|
|||||||
def depart_abbreviation(self, node):
|
def depart_abbreviation(self, node):
|
||||||
self.body.append(self.context.pop())
|
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):
|
def visit_download_reference(self, node):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -861,6 +861,12 @@ class TextTranslator(nodes.NodeVisitor):
|
|||||||
if node.hasattr('explanation'):
|
if node.hasattr('explanation'):
|
||||||
self.add_text(' (%s)' % node['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):
|
def visit_title_reference(self, node):
|
||||||
self.add_text('*')
|
self.add_text('*')
|
||||||
|
|
||||||
|
@ -20,3 +20,4 @@ def test_all(app, status, warning):
|
|||||||
|
|
||||||
content = (app.outdir / 'SphinxTests.1').text()
|
content = (app.outdir / 'SphinxTests.1').text()
|
||||||
assert r'\fBprint \fP\fIi\fP\fB\en\fP' in content
|
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