Chromium Code Reviews| 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..79375b000be298752ea6d3f7bf9737f583a83017 100644 |
| --- a/chrome/common/extensions/docs/server2/reference_resolver.py |
| +++ b/chrome/common/extensions/docs/server2/reference_resolver.py |
| @@ -170,13 +170,21 @@ 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 |
| + |
| + link_prefix = '' |
| + # requestPath should be of the form (apps|extensions)/...../page.html. |
| + # link_prefix should that the target will point to |
| + # (apps|extensions)/target.html. |
| + if relative_to is not '': |
|
not at google - send to devlin
2013/11/27 21:46:09
"is not" is for object identity. I don't know whet
benwells
2013/12/02 06:32:32
Nice catch. Turns out multiplying a sequence by a
|
| + 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 +212,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) |