Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: native_client_sdk/src/doc/_sphinxext/devsite_builder.py

Issue 25641002: Add builder option (kill_internal_links) to hide all links to in-tree documents. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Native Client Authors. All rights reserved. 1 # Copyright (c) 2013 The Native Client 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 # 5 #
6 # This is a Sphinx extension. 6 # This is a Sphinx extension.
7 # 7 #
8 8
9 import codecs 9 import codecs
10 import os 10 import os
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 self.section_level -= 1 138 self.section_level -= 1
139 self.body.append('</section>') 139 self.body.append('</section>')
140 140
141 def visit_image(self, node): 141 def visit_image(self, node):
142 # Paths to images in .rst sources should be absolute. This visitor does the 142 # Paths to images in .rst sources should be absolute. This visitor does the
143 # required transformation for the path to be correct in the final HTML. 143 # required transformation for the path to be correct in the final HTML.
144 if self.builder.devsite_production_mode: 144 if self.builder.devsite_production_mode:
145 node['uri'] = '/native-client/' + node['uri'] 145 node['uri'] = '/native-client/' + node['uri']
146 HTMLTranslator.visit_image(self, node) 146 HTMLTranslator.visit_image(self, node)
147 147
148 def visit_reference(self, node):
149 # In "kill_internal_links" mode, we don't emit the actual links for internal
150 # nodes.
151 if self.builder.kill_internal_links and node.get('internal'):
152 pass
153 else:
154 HTMLTranslator.visit_reference(self, node)
155
156 def depart_reference(self, node):
157 if self.builder.kill_internal_links and node.get('internal'):
158 pass
159 else:
160 HTMLTranslator.depart_reference(self, node)
161
148 def visit_title(self, node): 162 def visit_title(self, node):
149 # Why this? 163 # Why this?
150 # 164 #
151 # Sphinx insists on inserting a <h1>Page Title</h1> into the page, but this 165 # Sphinx insists on inserting a <h1>Page Title</h1> into the page, but this
152 # is not how the devsite wants it. The devsite inserts the page title on 166 # is not how the devsite wants it. The devsite inserts the page title on
153 # its own, the the extra h1 is duplication. 167 # its own, the the extra h1 is duplication.
154 # 168 #
155 # Killing the doctree title node in a custom transform doesn't work, because 169 # Killing the doctree title node in a custom transform doesn't work, because
156 # Sphinx explicitly looks for it when writing a document. So instead we rig 170 # Sphinx explicitly looks for it when writing a document. So instead we rig
157 # the HTML produced. 171 # the HTML produced.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 """ 228 """
215 name = 'devsite' 229 name = 'devsite'
216 out_suffix = '.html' 230 out_suffix = '.html'
217 link_suffix = '.html' 231 link_suffix = '.html'
218 232
219 # Disable the addition of "pi"-permalinks to each section header 233 # Disable the addition of "pi"-permalinks to each section header
220 add_permalinks = False 234 add_permalinks = False
221 235
222 def init(self): 236 def init(self):
223 self.devsite_production_mode = int(self.config.devsite_production_mode) == 1 237 self.devsite_production_mode = int(self.config.devsite_production_mode) == 1
238 self.kill_internal_links = int(self.config.kill_internal_links) == 1
224 print "----> Devsite builder with production mode = %d" % ( 239 print "----> Devsite builder with production mode = %d" % (
225 self.devsite_production_mode,) 240 self.devsite_production_mode,)
226 self.config_hash = '' 241 self.config_hash = ''
227 self.tags_hash = '' 242 self.tags_hash = ''
228 self.theme = None # no theme necessary 243 self.theme = None # no theme necessary
229 self.templates = None # no template bridge necessary 244 self.templates = None # no template bridge necessary
230 self.init_translator_class() 245 self.init_translator_class()
231 self.init_highlighter() 246 self.init_highlighter()
232 247
233 def get_target_uri(self, docname, typ=None): 248 def get_target_uri(self, docname, typ=None):
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 316
302 317
303 def setup(app): 318 def setup(app):
304 """ Extension registration hook. 319 """ Extension registration hook.
305 """ 320 """
306 app.add_directive('naclcode', NaclCodeDirective) 321 app.add_directive('naclcode', NaclCodeDirective)
307 app.add_builder(DevsiteBuilder) 322 app.add_builder(DevsiteBuilder)
308 323
309 # "Production mode" for local testing vs. on-server documentation. 324 # "Production mode" for local testing vs. on-server documentation.
310 app.add_config_value('devsite_production_mode', default='1', rebuild='html') 325 app.add_config_value('devsite_production_mode', default='1', rebuild='html')
326
327 app.add_config_value('kill_internal_links', default='0', rebuild='html')
328
Sam Clegg 2013/10/01 23:45:46 Kill extra line.
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698