fix bugs.

This commit is contained in:
Georg Brandl
2009-09-10 21:58:05 +02:00
parent 6b772c5640
commit 52d5411f6d
3 changed files with 9 additions and 6 deletions

View File

@@ -65,6 +65,8 @@ class ObjectDescription(Directive):
'module': directives.unchanged,
}
# XXX make this more domain specific
doc_fields_with_arg = {
'param': '%param',
'parameter': '%param',

View File

@@ -72,7 +72,7 @@ class EnvVarXRefRole(XRefRole):
Cross-referencing role for environment variables (adds an index entry).
"""
def result_nodes(self, env, node, is_ref):
def result_nodes(self, document, env, node, is_ref):
if not is_ref:
return [node], []
varname = node['reftarget']
@@ -83,7 +83,7 @@ class EnvVarXRefRole(XRefRole):
('single', _('environment variable; %s') % varname, tgtid, varname)
]
targetnode = nodes.target('', '', ids=[tgtid])
inliner.document.note_explicit_target(targetnode)
document.note_explicit_target(targetnode)
return [indexnode, targetnode, node], []

View File

@@ -85,14 +85,15 @@ class XRefRole(object):
if self.fix_parens:
text, _ = self._fix_parens(env, False, text[1:], "")
innernode = self.innernodeclass(rawtext, text, classes=['xref'])
return self.return_nodes(env, innernode, is_ref=False)
return self.result_nodes(inliner.document, env, innernode,
is_ref=False)
# split title and target in role content
has_explicit_title, title, target = split_explicit_title(text)
# fix-up title and target
if self.lowercase:
target = target.lower()
if self.fix_parens:
title, target = self.fix_parens(
title, target = self._fix_parens(
env, has_explicit_title, title, target)
# create the reference node
refnode = self.nodeclass(rawtext, reftype=role, refdomain=domain,
@@ -105,14 +106,14 @@ class XRefRole(object):
refnode['reftarget'] = target
refnode += self.innernodeclass(rawtext, title, classes=['xref'])
# result_nodes allow further modification of return values
return self.result_nodes(env, refnode, is_ref=True)
return self.result_nodes(inliner.document, env, refnode, is_ref=True)
# methods that can be overwritten
def process_link(self, env, refnode, has_explicit_title, title, target):
return title, ws_re.sub(' ', target)
def result_nodes(self, env, node, is_ref):
def result_nodes(self, document, env, node, is_ref):
return [node], []