| Index: chrome/common/extensions/docs/server2/reference_resolver.py
|
| diff --git a/chrome/common/extensions/docs/server2/reference_resolver.py b/chrome/common/extensions/docs/server2/reference_resolver.py
|
| index 4a344fbf9aed4f0253bcc8a99e9833b7221beb05..5639a0d106a80257659225459bc6360e8c79b588 100644
|
| --- a/chrome/common/extensions/docs/server2/reference_resolver.py
|
| +++ b/chrome/common/extensions/docs/server2/reference_resolver.py
|
| @@ -170,13 +170,20 @@ class ReferenceResolver(object):
|
| 'name': ref
|
| }
|
|
|
| - def ResolveAllLinks(self, text, namespace=None):
|
| + def ResolveAllLinks(self, text, relative_to='', namespace=None):
|
| """This method will resolve all $ref links in |text| using namespace
|
| |namespace| if not None. Any links that cannot be resolved will be replaced
|
| using the default link format that |SafeGetLink| uses.
|
| + The links will be generated relative to |relative_to|.
|
| """
|
| if text is None or '$ref:' not in text:
|
| return text
|
| +
|
| + # requestPath should be of the form (apps|extensions)/...../page.html.
|
| + # link_prefix should that the target will point to
|
| + # (apps|extensions)/target.html. Note multiplying a string by a negative
|
| + # number gives the empty string.
|
| + link_prefix = '../' * (relative_to.count('/') - 1)
|
| split_text = text.split('$ref:')
|
| # |split_text| is an array of text chunks that all start with the
|
| # argument to '$ref:'.
|
| @@ -204,6 +211,6 @@ class ReferenceResolver(object):
|
| rest = ref_and_rest[match.end():]
|
|
|
| ref_dict = self.SafeGetLink(ref, namespace=namespace, title=title)
|
| - formatted_text.append('<a href="%(href)s">%(text)s</a>%(rest)s' %
|
| - { 'href': ref_dict['href'], 'text': ref_dict['text'], 'rest': rest })
|
| + formatted_text.append('<a href="%s%s">%s</a>%s' %
|
| + (link_prefix, ref_dict['href'], ref_dict['text'], rest))
|
| return ''.join(formatted_text)
|
|
|