OLD | NEW |
---|---|
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import logging | 5 import logging |
6 import os | 6 import os |
7 from document_parser import ParseDocument | 7 from document_parser import ParseDocument |
8 from platform_util import ExtractPlatformFromURL | 8 from platform_util import ExtractPlatformFromURL |
9 from third_party.json_schema_compiler.model import UnixName | 9 from third_party.json_schema_compiler.model import UnixName |
10 | 10 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
72 if platform is None: | 72 if platform is None: |
73 logging.error('Cannot resolve reference without a platform.') | 73 logging.error('Cannot resolve reference without a platform.') |
74 continue | 74 continue |
75 ref_dict = self._platform_bundle.GetReferenceResolver( | 75 ref_dict = self._platform_bundle.GetReferenceResolver( |
76 platform).SafeGetLink(ref_parts[0], | 76 platform).SafeGetLink(ref_parts[0], |
77 namespace=api_name, | 77 namespace=api_name, |
78 title=title, | 78 title=title, |
79 path=path) | 79 path=path) |
80 | 80 |
81 new_document.append(document[cursor_index:start_ref_index]) | 81 new_document.append(document[cursor_index:start_ref_index]) |
82 new_document.append('<a href=%s>%s</a>' % (ref_dict['href'], | 82 new_document.append('<a href=%s/%s>%s</a>' % ( |
83 ref_dict['text'])) | 83 self._platform_bundle._base_path + platform, |
not at google - send to devlin
2014/08/07 23:59:31
nit - but perhaps use %s%s and split up base_path/
| |
84 ref_dict['href'], | |
85 ref_dict['text'])) | |
84 | 86 |
85 cursor_index = end_ref_index + 1 | 87 cursor_index = end_ref_index + 1 |
86 start_ref_index = document.find(START_REF, cursor_index) | 88 start_ref_index = document.find(START_REF, cursor_index) |
87 | 89 |
88 new_document.append(document[cursor_index:]) | 90 new_document.append(document[cursor_index:]) |
89 | 91 |
90 return ''.join(new_document) | 92 return ''.join(new_document) |
91 | 93 |
92 def Render(self, document, path, render_title=False): | 94 def Render(self, document, path, render_title=False): |
95 ''' |document|: document to be rendered. | |
96 |path|: request path to the document. | |
97 |render_title|: boolean representing whether or not to render a title. | |
98 ''' | |
93 # Render links first so that parsing and later replacements aren't | 99 # Render links first so that parsing and later replacements aren't |
94 # affected by $(ref...) substitutions | 100 # affected by $(ref...) substitutions |
95 document = self._RenderLinks(document, path) | 101 document = self._RenderLinks(document, path) |
96 | 102 |
97 parsed_document = ParseDocument(document, expect_title=render_title) | 103 parsed_document = ParseDocument(document, expect_title=render_title) |
98 toc_text, toc_warnings = self._table_of_contents_renderer.Render( | 104 toc_text, toc_warnings = self._table_of_contents_renderer.Render( |
99 parsed_document.sections) | 105 parsed_document.sections) |
100 | 106 |
101 # Only 1 title and 1 table of contents substitution allowed; in the common | 107 # Only 1 title and 1 table of contents substitution allowed; in the common |
102 # case, save necessarily running over the entire file. | 108 # case, save necessarily running over the entire file. |
103 if parsed_document.title: | 109 if parsed_document.title: |
104 document = document.replace('$(title)', parsed_document.title, 1) | 110 document = document.replace('$(title)', parsed_document.title, 1) |
105 return (document.replace('$(table_of_contents)', toc_text, 1), | 111 return (document.replace('$(table_of_contents)', toc_text, 1), |
106 parsed_document.warnings + toc_warnings) | 112 parsed_document.warnings + toc_warnings) |
OLD | NEW |