From 6efafcdca49667e37be7323592faadae3ec7972b Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 25 Jul 2015 12:34:26 +0200 Subject: [PATCH] std domain: make sure that ref and doc references have proper classes set --- sphinx/domains/std.py | 12 +++++++----- sphinx/environment.py | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py index d65e9e805..42f940c23 100644 --- a/sphinx/domains/std.py +++ b/sphinx/domains/std.py @@ -585,12 +585,14 @@ class StandardDomain(Domain): continue labels[name] = docname, labelid, sectname - def build_reference_node(self, fromdocname, builder, - docname, labelid, sectname, - **options): + def build_reference_node(self, fromdocname, builder, docname, labelid, + sectname, rolename, **options): nodeclass = options.pop('nodeclass', nodes.reference) newnode = nodeclass('', '', internal=True, **options) innernode = nodes.inline(sectname, sectname) + if innernode.get('classes') is not None: + innernode['classes'].append('std') + innernode['classes'].append('std-' + rolename) if docname == fromdocname: newnode['refid'] = labelid else: @@ -624,7 +626,7 @@ class StandardDomain(Domain): return None return self.build_reference_node(fromdocname, builder, - docname, labelid, sectname) + docname, labelid, sectname, 'ref') elif typ == 'numref': docname, labelid = self.data['anonlabels'].get(target, ('', '')) if not docname: @@ -648,7 +650,7 @@ class StandardDomain(Domain): newtitle = title % '.'.join(map(str, fignumber)) return self.build_reference_node(fromdocname, builder, - docname, labelid, newtitle, + docname, labelid, newtitle, 'numref', nodeclass=addnodes.number_reference, title=title) elif typ == 'keyword': diff --git a/sphinx/environment.py b/sphinx/environment.py index 47ebf7bd8..c8f7c467c 100644 --- a/sphinx/environment.py +++ b/sphinx/environment.py @@ -1604,7 +1604,8 @@ class BuildEnvironment: caption = node.astext() else: caption = clean_astext(self.titles[docname]) - innernode = nodes.emphasis(caption, caption) + innernode = nodes.inline(caption, caption) + innernode['classes'].append('doc') newnode = nodes.reference('', '', internal=True) newnode['refuri'] = builder.get_relative_uri(node['refdoc'], docname) newnode.append(innernode)